kri*_*ean 9 firefox-addon domparser firefox-addon-sdk
我正在尝试创建一个FF AddOn,它可以从网站上获取一些XML数据.但我找不到解析我的回应的方法.首先我使用DOMParser但是我收到此错误:
ReferenceError:未定义DOMParser.
有人建议使用XMLHttpRequest,因为解析是自动完成的,但后来我得到了另一个错误:
错误:发生异常.回溯(最近一次调用最后一次):
文件"resource://jid0-a23vmnhgidl8wlymvolsst4ca98-at-jetpack/api-utils/lib/cuddlefish.js",第208行,在require let模块中,manifest = this.manifest [base], requirer = this.modules [base]; TypeError:this.manifest未定义
我真的不知道还能做什么.我必须注意,我正在使用AddOn Builder来实现这一目标.
下面的代码似乎不起作用.
选项1:
exports.main = function() {
require("widget").Widget({
id: "widgetID1",
label: "My Mozilla Widget",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function(event) {
var Request = require("request").Request;
var goblecontent = Request({
url: "http://www.myexperiment.org/search.xml?query=goble",
onComplete: function (response) {
var parser = new DOMParser();
var xml = parser.parseFromString(response.text, "application/xml");
var packs = xml.getElementsByTagName("packs");
console.log(packs);
}
});
goblecontent.get();
}
});
};
Run Code Online (Sandbox Code Playgroud)
选项2:
exports.main = function() {
require("widget").Widget({
id: "widgetID1",
label: "My Mozilla Widget",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function(event) {
var request = new require("xhr").XMLHttpRequest();
request.open("GET", "http://www.myexperiment.org/search.xml?query=goble", false);
request.send(null);
if (request.status === 200) {
console.log(request.responseText);
}
}
});
};
Run Code Online (Sandbox Code Playgroud)
Wla*_*ant 14
DOMParser构造函数未在SDK模块的上下文中定义.您仍然可以使用chrome权限获取它:
var {Cc, Ci} = require("chrome");
var parser = Cc["@mozilla.org/xmlextras/domparser;1"].createInstance(Ci.nsIDOMParser);
Run Code Online (Sandbox Code Playgroud)
也就是说,你的方法XMLHttpRequest应该也可以.您new错误地使用了操作符,但是正在创建一个新的"require对象".这样它应该工作:
var {XMLHttpRequest} = require("xhr");
var request = new XMLHttpRequest();
Run Code Online (Sandbox Code Playgroud)
但请考虑使用异步XMLHttpRequest对象,用于request.onreadystatechange附加监听器(xhr模块当前不支持其他类型的监听器或addEventListener).
| 归档时间: |
|
| 查看次数: |
2838 次 |
| 最近记录: |