javascript - Components.classes 给出 "Error: Permission denied to access property ' 类'”

标签 javascript dom xml-serialization

我正在尝试使用概述的方法将我的 DOM 序列化为 XML 文件 here .

但是,行

var oFOStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);

导致错误

Error: Permission denied to access property 'classes'

在 Mozilla Firefox 20.0 上使用 Firebug。我可以是那个

mozilla.org/network/file-output-stream

是一个错误的链接。但是,当我尝试

Components.utils.import("resource://gre/modules/FileUtils.jsm");     
var oFOStream = new FileUtils.File(".");

我收到消息了

Error: Permission denied to access property 'utils'

resource://gre/modules/FileUtils.jsm

是合法链接。

是否有更好的方法将 DOM 或其中的子树序列化为 XML 文件?

最佳答案

只有当“在 JS XPCOM 组件(或 JS 模块)中,新的 XMLSerializer() 不可用时,您才需要使用该方法。”

你可以尝试使用:

var oSerializer = new XMLSerializer();
var sXML = oSerializer.serializeToString(doc);

首先将其序列化为字符串。

您可以找到更多信息here在第 2 章。

关于javascript - Components.classes 给出 "Error: Permission denied to access property ' 类'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16107249/

相关文章:

javascript - 基本 meteor 异步概念 : Submit an Email and Send Email

javascript - Reactjs:未捕获类型错误:无法设置 null 的属性 'innerHTML'

javascript - 与 JavaScript 和 DOM 重复代码作斗争

javascript - 试图理解 <select> 元素上的点击事件

java - 将两个 xml 文件合并到一个文件中

java - ReSTLet:在 HTTP 请求中发送 xml

c# - 列表的 XML 序列化变得太大

javascript - 为什么 postman 中的响应有效,但我的测试无效?

javascript - jquery "NOW"事件?

javascript - 使用 $_POST 或 $_GET 与 Modal,根据 ID 刷新