それで、仕事用のウェブポータルを作ります。上司は、ユーザーがページから移動した場合、ユーザーをログアウトするように求めています。このチュートリアルを見つけました: http://kbeezie.com/cross-browser-exit-pop/
jquery の例を使用し、いくつかのページに挿入してテストしました。開発にはasp.net/C#を使用しています。私のスクリプトを含む、ページの基本的なレイアウトは次のとおりです。
<%@ Page ... %>
<asp:Content .. > </asp:Content>
<asp:Content .. >
//my navigate away function
<script type="text/javascript">
function PopIt() {
return "Are you sure you want to leave?";
}
$(document).ready(function () {
window.onbeforeunload = PopIt;
$("a").click(function () { window.onbeforeunload = null; });
});
</script>
<div>
<table></table>
//other stuff
</div>
</asp:Content>
Web ポータルのリンクをクリックすると、ナビゲート スクリプトが機能しますが、内部リンクをクリックしているためポップアップしません。しかし、サイト内を移動し続けると、最終的に 2、3 回クリックした後、内部リンクをクリックすると、本当に離脱するかどうかを尋ねられます。なぜこれが起こっているのか誰にも教えてもらえますか?
編集: すべてのページで jquery を参照しているため、これは問題ではありません。
編集:これは動作するJSFiddleです。リンクをクリックしても何も起こりませんが、別の場所に移動するとプロンプトが表示されます。