Плагин Firefox - Как скрыть вкладку браузера и получать его содержимое

Я разрабатываю плагин для Firefox. В котором я должен открыть скрытую вкладку и получить доступ к ее содержимому через JavaScript, а затем закрыть его.

Ниже приведен код, который я использую для доступа к содержимому вкладки:

var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab("www.kayak.com/flights#/BOM-ORL/2013-05-14/2013-06-19"));
var contentdata = "";
newTabBrowser.addEventListener("load", function () {
    contentdata = contentdata + newTabBrowser.contentDocument.body.innerHTML;
    load = load + 1;
    if(load == 5) {
        var DOMPars = new DOMParser();
        var dom = DOMPars.parseFromString(contentdata, "text/html");
        var priceNode = dom.getElementById('low_price');
    }
}, true);

Как я могу скрыть эту вкладку в браузере?

2 ответа

Решение

Похоже, вам просто нужно создать постоянную невидимую страницу и получить доступ к ее DOM.

Addon-SDK предоставляет модуль для работы с страницами. Делай то, что хочешь?

Если вы сохраняете ссылку на вкладку, которую вы открываете с помощью addTab, вы можете скрыть эту вкладку, используя css или другие доступные методы. Например:

var newTab = gBrowser.addTab("www.kayak.com/flights#/BOM-ORL/2013-05-14/2013-06-19");
newTab.setAttribute("style", "display: none");

var newTabBrowser = gBrowser.getBrowserForTab(newTab);
newTabBrowser.loadCount = 0;
var contentdata = "";
newTabBrowser.addEventListener("load", function () {
    contentdata = contentdata + newTabBrowser.contentDocument.body.innerHTML;
    this.loadCount = this.loadCount + 1;
    if(this.loadCount == 5) {
        var DOMPars = new DOMParser();
        var dom = DOMPars.parseFromString(contentdata, "text/html");
        var priceNode = dom.getElementById('low_price');
    }
}, true);
Другие вопросы по тегам