0

我正在为 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);

如何在浏览器中隐藏此选项卡?

4

2 回答 2

0

看起来您只需要创建一个永久的、不可见的页面并访问其 DOM。

Addon-SDK 提供了一个页面工作模块。这是你想要的吗?

于 2013-04-01T07:36:58.740 回答
0

如果您存储对使用 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);
于 2013-03-25T12:15:39.843 回答