我正在为Firefox编写侧边栏扩展,需要一种获取当前页面URL的方法,以便可以针对数据库进行检查并显示结果。我怎样才能做到这一点?

最佳答案

window.top.getBrowser().selectedBrowser.contentWindow.location.href;

可能有效,否则我认为您需要使用:
var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                   .getInterface(Components.interfaces.nsIWebNavigation)
                   .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
                   .rootTreeItem
                   .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                   .getInterface(Components.interfaces.nsIDOMWindow);

mainWindow.getBrowser().selectedBrowser.contentWindow.location.href;

07-24 15:29