windowのunloadイベントを利用すると他のページへ遷移するのを禁止できる。
やり方は以下のソースを記述するだけ
window.onunload = function(){ location.replace(document.location); }
ただ、この記述だけだと次ページへの遷移すらできなくなるので少し改良してみる。
page1.html(遷移元ページ)
<html> <body> <a href="page2.html" style="color:black">戻れないぺーじへ</a> <body> </html>
page2.html(ブラウザの戻るが効かないページ)
<html> <script> var backflg //windowのunload処理 window.onunload = function(){ if (backflg != 1){ location.replace(document.location); } }; //戻るリンク押下 function goback(){ backflg = 1; location.href="page1.html" } </script> <body> <input type='text' > <a href="#" style="color:black" onclick="goback()">戻る</a> <body> </html>
ただし、次の欠点がある。
1.onunloadイベントを使っているので「お気に入り」やアドレスバーにURLを打って遷移しようとした場合も遷移が防がれる。
2.location.replaceで自ページに遷移させているので実際はページがリロードされている。
しかし、ネットサーフィンをしててこんなページがあったら嫌だな。
参考にしたサイト