我正在使用Microsoft Edge扩展。
我将重定向用户,如果他们在一个特定的url导航。在我的background.js脚本中,我有这个:
browser.webNavigation.onBeforeNavigate.addListener(
function(details) {
if(details.url.indexOf("url_path") > -1){
alert("caught");
window.location = "http://new_url.com";
}
}
);
警报工作,但不能重定向。我做错了什么?另外,在重定向中传递http认证的用户权限也是一个好主意吗?例如:窗口。位置= "http://user:pass@new_url.com" ?
谢谢:)
browser.webNavigation.onBeforeNavigate
在后台页面被调用,当你调用window.location = xxx
时,窗口意味着后台页面窗口,而不是当前网页,这就是重定向不起作用的原因。
重定向web请求,看看webRequest.onBeforeRequest
。它还提供了关于如何重定向用户导航的示例代码。
对于url中http认证的密码,只要使用https,整个通信都是加密的