Javascript 使用Firefox扩展显示网页当前URL

Javascript 使用Firefox扩展显示网页当前URL,javascript,url,firefox-addon,Javascript,Url,Firefox Addon,我为文章标题编写了以下代码,但没有真正的URL,而是得到了以前的URL(例如,如果我在谷歌上,在搜索字段中键入“car”,然后键入“Enter”I get)http://www.google.fr“而不是搜索中的URL) 代码: window.addEventListener("change", function() { myExtension_with_change.init(); }, false); var myExtension_with_change = { init: fun

我为文章标题编写了以下代码,但没有真正的URL,而是得到了以前的URL(例如,如果我在谷歌上,在搜索字段中键入“car”,然后键入“Enter”I get)http://www.google.fr“而不是搜索中的URL)

代码:

window.addEventListener("change", function() { myExtension_with_change.init(); }, false);

var myExtension_with_change = {
   init: function() {
       var url = window.location.href;
       alert(url);
}

}

您可能需要在第一个窗口中添加事件侦听器以等待窗口加载,例如:

window.addEventListener("change", function()
{

   window.addEventListener("load", function()
   {

       myExtension_with_change.init();

   }, false);

}, false);

我怀疑window是否是监听URL更改的正确锚点。我的第一次尝试是在#urlbar收听更改事件(不过我没有尝试):


如果你的最终目标是在每个标签上都能听到URL的变化,我建议你也看看这个。

在另一篇文章中给出了一个完美的答案()

在我的情况下,我遵循了年的建议。只需调用下面的代码片段就可以得到当前的url

gBrowser.mCurrentBrowser.currentURI.QueryInterface(Components.interfaces.nsIURI)
var currentUrl=gBrowser.mCurrentBrowser.currentURI.spec


谢谢你的回答,但我已经尝试过了,现在没有显示警报。谢谢你的回答,但我已经尝试过了,现在没有显示警报。@布鲁诺:这可能是因为它应该是
document.getElementById('urlbar')
而不是
window.getElementById('#urlbar')
window.getElementById('#urlbar').addEventListener("change", function() {    
    myExtension_with_change.init(); }, false);