С в XUL на основе Firefox аддон, мне нужно:Загрузка нескольких страниц в скрытом IFRAME из XUL на основе расширения Firefox
- программно создать невидимый IFRAME (раз)
- использовать его для загрузки несколько URL-адресов, как аддон работает
- доступ возвращаемый HTML после каждого URL нагрузок
проблема: я могу получить только первую загрузку страниц для любого созданного фрейма, чтобы вызвать «OnLoad» или событие «DOMContentLoaded». Для последующих URL-адресов не запускается событие.
Примечание: Я также хорошо с помощью самой hiddenDOMWindow, если это возможно ...
Код:
var urls = ['http://en.wikipedia.org/wiki/Internet', 'http://en.wikipedia.org/wiki/IPv4', 'http://en.wikipedia.org/wiki/Multicast' ];
visitPage(urls.pop());
function visitPage(url) {
var XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var hiddenWindow = Components.classes["@mozilla.org/appshell/appShellService;1"].getService
(Components.interfaces.nsIAppShellService).hiddenDOMWindow;
var doc = hiddenWindow.document, iframe = doc.getElementById("my-iframe");
if (!iframe)
{
iframe = doc.createElement("iframe");
//OR: iframe = doc.createElementNS(XUL_NS,"iframe");
iframe.setAttribute("id", "my-iframe");
iframe.setAttribute('style', 'display: none');
iframe.addEventListener("DOMContentLoaded", function (e) {
dump('DOMContentLoaded: '+e.originalTarget.location.href);
visitPage(urls.pop());
});
doc.documentElement.appendChild(iframe);
}
iframe.src = url;
}
Оставьте свой код, пожалуйста. – nmaier