0

救命!我的一个 js 文件中有一个函数可以从主浏览器窗口获取 url。我的插件是一个工具栏。从工具栏的 javascript 调用此函数时可以正常工作。

但是,我还有另一个使用此函数的对话框窗口(通过 xul)(通过窗口加载侦听器调用它),但是当它被调用时,虽然该函数确实触发了,但它给了我这个:TypeError: window.content is null.

function GetTheBrowserUrl(){
var browserwindow = window.top.getBrowser().selectedBrowser.contentWindow.location.href;
return browserwindow;
//return getBrowser().contentWindow.location.href;
}

那么我怎样才能让它从对话窗口工作呢?似乎从对话窗口调用函数需要以某种方式在浏览器窗口上获取句柄。

4

1 回答 1

1
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
         .getService(Components.interfaces.nsIWindowMediator);
var window = wm.getMostRecentWindow("navigator:browser");
return window.gBrowser.contentWindow.location.href
于 2012-11-30T18:13:36.283 回答