如何隐藏标签浏览器和获取其内容

firefox plugin - How to hide a tab browser and getting its content

本文关键字:获取 浏览器 标签 何隐藏 隐藏      更新时间:2023-09-26

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

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

看起来你只需要创建一个永久的、不可见的页面并访问它的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);