Firefox插件/javascript:从工具栏获取url

Firefox插件/javascript:从工具栏获取url,javascript,firefox,firefox-addon,Javascript,Firefox,Firefox Addon,我遵循插件开发站点的示例代码,成功地将一个按钮放在FF上: 现在我想让这个按钮做一些有趣的事情,所以我想我会运行一个通知,地址是目前在酒吧。。。但这不起作用: CustomButton = { 1: function () { alert("Just testing 1"+document.location.href); }, } 除了+document.location.href之外,这是我从开发人员网站上获得的确切演示代码…这些代码对我来说很有用,您使用它的上下文是什么/您如何

我遵循插件开发站点的示例代码,成功地将一个按钮放在FF上: 现在我想让这个按钮做一些有趣的事情,所以我想我会运行一个通知,地址是目前在酒吧。。。但这不起作用:

CustomButton = {

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

}

除了+document.location.href之外,这是我从开发人员网站上获得的确切演示代码…

这些代码对我来说很有用,您使用它的上下文是什么/您如何调用该函数

 > document.location.href
 < "http://stackoverflow.com/questions/6352035/firefox-addon-javascript-get-url-from-bar"
请尝试将当前页面URL设置为+browser.currentURI.spec,然后查看您的情况

另见:


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

用于当前文档的位置

content.location.href
用于位置栏中的字符串

document.getElementById("urlbar").value


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

gBrowser.selectedTab

用于获取当前选项卡,然后使用

currentURI.host

用于获取URL主机 还请注意,selectedTab返回一个tab变量,然后您应该获得该选项卡的窗口。 那么整个代码将是:

gBrowser.getBrowserForTabgBrowser.selectedTab.currentURI.host


花了一段时间才弄清楚:

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);

当我尝试这样做时,我会在我的警报中得到这一点:只是测试1chrome://browser/content/browser.xulIf 我不得不猜测这听起来像是在窗口菜单、按钮等的chrome上下文中执行,而不是在实际页面中执行。您可能想看看Ok,通过这样做可以实现:var urlbar=window.content.location.href;alertJust测试1+urlbar;谢谢你的回复!
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);