我正在使用Microsoft Edge扩展程序。
如果用户在特定网址中导航,我会重定向用户。 在我的background.js脚本中,我有这个:
browser.webNavigation.onBeforeNavigate.addListener(
function(details) {
if(details.url.indexOf("url_path") > -1){
alert("caught");
window.location = "http://new_url.com";
}
}
);
警报工作,但不是重定向。我做错了什么? 另外一个好主意是在重定向中传递用户e传递http auth? 例如:windows.location =“http://user:pass@new_url.com”?
谢谢:)
答案 0 :(得分:0)
browser.webNavigation.onBeforeNavigate
,当您调用window.location = xxx
时,该窗口表示后台页面窗口,它不是当前网页,这就是重定向不会导致的原因。工作。
要重定向网络请求,请查看webRequest.onBeforeRequest
。它还提供了有关如何重定向用户导航的示例代码。
至于网址中http auth的密码,只要您使用 https ,the entire communication is encrypted.