Я пытаюсь создать FF AddOn, который приносит некоторые XML-данные с веб-сайта. Но я не могу найти способ разобрать свой RESPONSE. Сначала я использовал DOMParser, но получил эту ошибку:
ReferenceError: DOMParser не определен.
Кто-то предложил использовать XMLHttpRequest, потому что парсинг выполняется автоматически, но тогда я получаю другую ошибку:
Error: Произошло исключение. Traceback (last recent call last):
Файл "resource://jid0-a23vmnhgidl8wlymvolsst4ca98-at-jetpack/api-utils/lib/cuddlefish.js", строка 208, в 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);
}
}
});
};