私はwindow.onbeforeunloadが正しく起動しています。ユーザーがウィンドウをナビゲートしている(クローズしている)ことをユーザーに知らせるための確認ボックスが表示され、保存されていない作業が消去されます。window.onbeforeunloadがトリガーされたときにリンクがクリックされたかどうかを検出する方法?
ユーザーがリンクをクリックしてページから移動した場合にトリガーしたくないというユニークな状況がありますが、関数内でリンクがクリックされたかどうかを検出する方法がわかりません機能を停止する。これは私がコードのために持っているものです:
window.onbeforeunload = function() {
var message = 'You are leaving the page.';
/* If this is Firefox */
if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
if(confirm(message)) {
history.go();
}
else {
window.setTimeout(function() {
window.stop();
}, 1);
}
}
/* Everything else */
else {
return message;
}
}
これは、返信のための素晴らしい感謝です。私はjQueryなしでこれを使用しようとしています - そして、私はpoormansの実装をどのように統合するかを理解しようとしていますが、それを理解できないようです(私を許してください、私はJS newbです)。 – mirin
あなたのコードは半右でした。私は完全な答えで質問に答えました。 – mirin
IEで動作させるのに問題がある人は、nullではなくundefinedを返す必要があります。 ieとchromeの両方で動作します。 – Janspeed