[英]Display Webpage current URL with Firefox extension
我为帖子标题的目的编写了以下代码,但没有真正的URL,而是获取了先前的URL(例如,如果我在Google上并在搜索字段中键入“ car”,然后键入“ Enter”我得到的是“ http://www.google.fr”,而不是搜索得到的URL)。
代码:
window.addEventListener("change", function() { myExtension_with_change.init(); }, false);
var myExtension_with_change = {
init: function() {
var url = window.location.href;
alert(url);
}
}
就我而言,我遵循了http://forums.mozillazine.org/viewtopic.php?f=9&t=194671中的建议。 只需调用以下代码段即可获取当前网址
gBrowser.mCurrentBrowser.currentURI.QueryInterface(Components.interfaces.nsIURI);
var currentUrl = gBrowser.mCurrentBrowser.currentURI.spec;
您可能需要在第一个事件监听器中添加一个事件侦听器,以等待窗口加载,例如:
window.addEventListener("change", function()
{
window.addEventListener("load", function()
{
myExtension_with_change.init();
}, false);
}, false);
我怀疑window是否是侦听URL更改的正确锚点。 我的第一个尝试是在#urlbar上监听更改事件(尽管我没有尝试):
window.getElementById('#urlbar').addEventListener("change", function() {
myExtension_with_change.init(); }, false);
如果您的最终目标是在每个选项卡上侦听URL更改,建议您也查看“ 选项卡式浏览器”文档以及有关位置更改的此代码段 。
在另一篇文章中, https://stackoverflow.com/users/785541/wladimir-palant提供了一个完美的答案( 使用Firefox扩展上的Javascript动态获取网页的URL )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.