如何在 e10s 附加组件中获取活动选项卡 URL
How to get the active tab URL in an e10s add-on
对于工具栏按钮单击,我需要获取活动选项卡的 URL 地址。
但是
window.gBrowser.selectedBrowser.contentDocument
出现 CPOW
错误。
如何在 e10s 附加组件中获取活动选项卡 URL 的 URL 位置?
查看可用对象,在 source code 中,您应该从哪里获取活动选项卡的 URI:
从当前nsIURI
:
window.gBrowser.currentURI.spec
对象 window.gBrowser.currentURI
returns a 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
:
当然,您可以将 URL 从 urlbar
:
中拉出来
window.document.getElementById('urlbar').value
查找 window
:
以上所有假设您已将 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");
//*/
对于工具栏按钮单击,我需要获取活动选项卡的 URL 地址。
但是
window.gBrowser.selectedBrowser.contentDocument
出现 CPOW
错误。
如何在 e10s 附加组件中获取活动选项卡 URL 的 URL 位置?
查看可用对象,在 source code 中,您应该从哪里获取活动选项卡的 URI:
从当前nsIURI
:
window.gBrowser.currentURI.spec
对象 window.gBrowser.currentURI
returns a 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
:
当然,您可以将 URL 从 urlbar
:
window.document.getElementById('urlbar').value
查找 window
:
以上所有假设您已将 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");
//*/