为什么不能从对话框窗口(Firefox)获取浏览器URL?

时间:2012-11-29 22:53:56

标签: javascript firefox-addon

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

但是,我还有另一个使用此函数的对话窗口(通过xul)(通过窗口加载监听器调用),但是当它被调用时,虽然该函数触发了,但它给了我:{{1 }}

TypeError: window.content is null

那么如何从对话框窗口中使用它呢?似乎从对话框窗口调用该函数需要以某种方式获取浏览器窗口的句柄。

1 个答案:

答案 0 :(得分: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