Firefox插件/ javascript:从栏中获取网址

时间:2011-06-15 01:33:00

标签: javascript firefox firefox-addon

我按照addon dev网站上的示例代码成功地将一个按钮放到FF上:) 现在我想让那个按钮做一些有趣的事情,所以我想我会用当前栏中的地址运行警报......但这不起作用:

CustomButton = {

1: function () {
  alert("Just testing 1"+document.location.href);
  },

}

+document.location.href之外,它是我从开发网站获得的确切演示代码......

5 个答案:

答案 0 :(得分:3)

您应该注意,在扩展开发中,文档和窗口变量是指主机浏览器而不是包含该网站的浏览器。 你应该使用

  

gBrowser.selectedTab

获取当前标签然后使用

  

currentURI.host

获取URL主机 还要注意selectedTab返回一个tab变量,然后你应该得到该选项卡的窗口。 然后整个代码将是:

  

gBrowser.getBrowserForTab(gBrowser.selectedTab).currentURI.host

答案 1 :(得分:2)

您想获取当前文档的位置还是位置栏中的字符串?

关于当前文件的位置

content.location.href

对于位置栏中的字符串

document.getElementById("urlbar").value

gURLBar.value

答案 2 :(得分:1)

那些对我有用,你在使用它的上下文/你如何调用这个函数?

 > document.location.href
 < "http://stackoverflow.com/questions/6352035/firefox-addon-javascript-get-url-from-bar"

您也可以使用window.location.href

 > window.location.href
 < "http://stackoverflow.com/questions/6352035/firefox-addon-javascript-get-url-from-bar"

答案 3 :(得分:1)

试试alert("The current page URL is " + browser.currentURI.spec)并了解具体方法。

另见:

Firefox extension development : Get URL of new tabhttps://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIURI

答案 4 :(得分:0)

花了一段时间才弄明白:

gBrowser.currentURI.spec;

就是这样做的。

这里有一些你可能会觉得有用的代码

window.addEventListener('load', function (e) {

  var href = gBrowser.currentURI.spec;

  if ( href.match(/website.com/) ) {

    var contentDoc = content.document;
    // Do some stuff to the current website.com's DOM

  }

}, true);