2017-05-17 9 views
-1

JavaScriptを使用してページのリロードイベントをキャプチャし、既存のページをリロードするのではなく、別のURLにリダイレクトする(つまり、同じブラウザのタブで別のページをロードする)。私のコードはここにある - 代わりに、ページのリロードを同じタブに - 私は右Chromeでクリックしてからリロードをクリックするが、www.google.comをタブにロードされないときonbeforeunloadウィンドウの位置が変更されない

<script type="text/javascript"> 
    window.onbeforeunload = function(e) { 
     window.location = "https://www.google.com"; 
     e.preventDefault(); 
    }; 
</script> 

コードが実行されます。

ここで何を変更する必要がありますか?

+0

_ "ここで変更する必要がありますか?" - アイデア。私が合っていると私がブラウザでページを再読み込みするのを妨げたいのはなぜですか? – CBroe

+0

ページをリダイレクトできません。これは、ポップアップ広告を取り除くことを防ぐために、アドウェアがしていたことです。ブラウザはこれ以上許可しません。 – Barmar

+0

@CBroe、私はユーザーをタブと同じページにリダイレクトしていますが、セキュリティ上のURLにページの隠しタグからコピーされたトークンを追加しようとしています – lenniekid

答えて

0

このイベントハンドラ内では、特定のことしか実行できません。ほとんどの場合、確認を求められます。リダイレクトが遅すぎます。

ただし、ユーザーが確認した後にリダイレクトすることはできます。使用する.returnValue https://html.spec.whatwg.org/#the-beforeunloadevent-interface

関連する問題