ウェブサイトからXMLデータを取り込むFF AddOnを作成しようとしています。しかし、私は自分のレスポンスを解析する方法を見つけることができません。最初に私はDOMParserを使用しますが、私はこのエラーを取得:解析が自動的に行われるので、アドオンSDKを使用してFirefoxアドオンでXML文字列を解析する方法
ReferenceError: DOMParser is not defined.
誰かのXMLHttpRequestを使用することを示唆したが、その後、私は、この他のエラーを取得:
はError: An exception occurred. Traceback (most recent call last):
File "resource://jid0-a23vmnhgidl8wlymvolsst4ca98-at-jetpack/api-utils/lib/cuddlefish.js", line 208, in require let module, manifest = this.manifest[base], requirer = this.modules[base]; TypeError: this.manifest is undefined
私は本当に知りませんの何をすべきか私はこれを達成するために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();
}
});
};
オプション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);
}
}
});
};
+1あなたのユーザーのために、あらゆる種類の同期ネットワークアクセスを避けてください! – canuckistani
@canuckistani: 'xhr'だけが適切な' onload'と 'onevent'プロパティを実装していれば、Web開発者は' onreadystatechange'に慣れているかもしれませんが、私はそれを醜い解決策と考えています。 –
@Wladimir Palant DOMParseソリューションはうまくいきました。しかし、XMLHttpRequestソリューションは私に同じエラーメッセージを投げました。私はあなたがDOMParseで私に勧めたものに似た何かをしてしまいました: 'var {Cc、Ci} = require(" chrome "); var request = Cc ["@ mozilla.org/xmlextras/xmlhttprequest;1"]。createInstance(Ci.nsIXMLHttpRequest); 'それがうまくいった!ありがとう – kriztean