3

ページがアンロードされる前に新しい URL をインターセプトする単純な chrome プラグインを作成しています。特定の文字列が含まれている場合は、いくつかのアクションを実行してリダイレクトを無効にしたいと考えています。どうすればいいのかわからない.. 手伝ってもらえますか?

4

3 に答える 3

4

Chrome 拡張機能onBeforeRequestの API のイベントを使用できます。webRequest

chrome.webRequest.onBeforeRequest.addListener(
    function(details) { 
        // do some actions
        // ...
        return {cancel: true}; 
    },
    // block requests matching this url
    {urls: ["*://www.evil.com/*"]},
    ["blocking"]
);

manifest.jsonファイルに適切な権限があることを確認してください。

Web リクエスト API を使用するには、拡張機能マニフェストで "webRequest" パーミッションを宣言する必要があります。また、ネットワーク リクエストにアクセスするホストのホスト パーミッションも宣言する必要があります。

"permissions": [
    "webRequest",
    "webRequestBlocking",
    "*://*.google.com"
],
于 2013-05-18T13:18:48.737 に答える
1

ウィンドウがアンロードされる前に発生する JavaScript イベントがあります: window.onbeforeunload

これが Firefox と IE で機能することは知っていますが、Chrome では常に機能するとは限らないことを読みました。

ただし、少し掘り下げた後、これはChromeで機能するようです:

$(window).on('beforeunload', function() {
  return 'Your own message goes here...';
});
于 2013-05-18T13:05:55.323 に答える
0

私の知る限り、それは不可能です.最初にリクエストがサーバーに送信されます.次に、サーバーがそのリダイレクトURLを決定します.(私はJavaを使用しています)

于 2013-05-18T12:45:24.460 に答える