为了帖子的标题,我写了下面的代码,但是没有真正的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);
}
}
答案 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)
在另一篇文章https://stackoverflow.com/users/785541/wladimir-palant中给出了完美答案(Get URL of a webpage dynamically with Javascript on a Firefox extension)。
答案 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;