1

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 auth にユーザー e パスを渡すことをお勧めしますか? 例: windows.location = " http://user:pass@new_url.com " ?

ありがとう :)

4

1 に答える 1

0

browser.webNavigation.onBeforeNavigateはバックグラウンド ページで呼び出されます。 を呼び出すwindow.location = xxxと、 window はバックグラウンド ページ ウィンドウを意味し、現在の Web ページではないため、リダイレクトが機能しません。

Web リクエストをリダイレクトするには、 をご覧くださいwebRequest.onBeforeRequest。また、ユーザー ナビゲーションをリダイレクトする方法に関するサンプル コードも提供します。

URL の http auth のパスワードは、 httpsを使用している限り、通信全体が暗号化されます。

于 2016-10-08T05:21:49.007 に答える