如果我的代码类似于:
var filter = {
url:
[
{hostContains: "example.com"},
{hostPrefix: "developer"}
]
}
function logOnDOMContentLoaded(details) {
console.log("onDOMContentLoaded: " + details.url);
}
browser.webNavigation.onDOMContentLoaded.addListener(logOnDOMContentLoaded, filter);
details.url
返回加载的网址。如果我想要用户在URL栏中输入的原始URL怎么办?有没有办法得到这个?
答案 0 :(得分:0)
从帖子HERE中可以看出,可以使用纯javascript代码提取网址。此代码段将实现此目的。您使用包含错误URL(字符串)的字符串来提供它,并且包含webNavigation.onDOMContentLoaded.addListener
中的请求URL(子字符串)的变量名称被命名为u
。所以,通过调用:
var url = getParameterByName("u",str);
我可以获取请求网址(网站网址)。
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}