如何在e10s加载项中获取活动选项卡URL

时间:2016-09-02 05:47:39

标签: firefox firefox-addon firefox-addon-restartless e10s firefox-addon-overlay

单击工具栏按钮,我需要获取活动选项卡的URL地址。

但是

window.gBrowser.selectedBrowser.contentDocument

出现CPOW错误。

如何在e10s插件中获取活动标签网址的URL位置?

1 个答案:

答案 0 :(得分:1)

查看可用对象,在source code中,看起来应该在哪里获取活动选项卡的URI:

来自当前的nsIURI

window.gBrowser.currentURI.spec

对象window.gBrowser.currentURI返回nsIURI,其中包含许多属性,您可以从中获取URI,包括:

[nsIURI].spec //Returns a string representation of the URI. 
[nsIURI].asciiSpec //The URI spec with an ASCII compatible encoding. 
[nsIURI].specIgnoringRef //Returns a string representation of the URI without the ref
                         //  (part after the #) portion.

您还可以将当前所选标签的nsIURI设置为:

window.gBrowser.selectedBrowser._documentURI

来自urlbar
当然,您可以从urlbar

中提取网址
window.document.getElementById('urlbar').value

查找window
以上所有假设您已将window适当地设置为当前活动窗口。例如,通过执行以下操作:

    //  Add/remove a "/" to comment/un-comment the code appropriate for your add-on type.
    /* Add-on SDK:
    let window = require('sdk/window/utils').getMostRecentBrowserWindow();
    //*/
    //* Overlay and bootstrap (from almost any context/scope):
    Components.utils.import("resource://gre/modules/Services.jsm"); //Services
    let window=Services.wm.getMostRecentWindow("navigator:browser");        
    //*/