使用Firefox扩展程序显示网页当前网址

时间:2011-06-21 09:09:03

标签: javascript url firefox-addon

为了帖子的标题,我写了下面的代码,但是没有真正的URL,我得到了以前的URL(例如,如果我在Google上并在搜索字段中输入“car”并输入“输入”我收到“http://www.google.fr”,而不是搜索中的网址。

代码:

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

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

}

4 个答案:

答案 0 :(得分:0)

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

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

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

       myExtension_with_change.init();

   }, false);

}, false);

答案 1 :(得分:0)

我怀疑该窗口是监听URL更改的正确锚点。我的第一次尝试是听#urlbar的变化事件(虽然我没试过):

window.getElementById('#urlbar').addEventListener("change", function() {    
    myExtension_with_change.init(); }, false);

如果您的最终目标是在每个标签上收听网址更改,我建议您查看Tabbed Browser documentation和此code snippet on location changes

答案 2 :(得分:0)

答案 3 :(得分:0)

就我而言,我遵循了http://forums.mozillazine.org/viewtopic.php?f=9&t=194671中的建议。只需调用以下代码段即可获得当前网址

  

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