我按照addon dev网站上的示例代码成功地将一个按钮放到FF上:) 现在我想让那个按钮做一些有趣的事情,所以我想我会用当前栏中的地址运行警报......但这不起作用:
CustomButton = {
1: function () {
alert("Just testing 1"+document.location.href);
},
}
除+document.location.href
之外,它是我从开发网站获得的确切演示代码......
答案 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 tab和https://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);