2

ユーザーがページを離れるときに何かを思い出させる必要があります。これは、window.onUnloadイベントで処理できます。ただし、ページ上のフォームを送信するか、ナビゲーションリンクをクリックして、ユーザーがナビゲートしているかどうかも確認する必要があります。フォームのonSubmitイベントを使用してフラグを設定し、window.onUnloadイベントでそのフラグと照合することもできますが、どちらが最初に起動するかはわかりません。

何か案は ?

4

3 に答える 3

5

実際にはwindow.onbeforeunloadが必要です

window.onbeforeunload = function (e) {
  var e = e || window.event;

  // For IE and Firefox
  if (e) {
    e.returnValue = 'Are You Sure?';
  }

  // For Safari
  return 'Are You Sure?';
};
于 2009-05-08T13:46:43.193 に答える
0

form.onSubmit イベントが最初に発生することが判明したので、フラグを使用できます。これは Firefox と Safari でのみ確認しました。

于 2009-05-08T14:04:31.840 に答える
0
var isRefresh = true;
window.onunload = function () {
    alert('the page was ' + (isRefresh == false ? 'NOT ' : '') + 'refreshed');
}
$('a').live('click', function () { isRefresh = false; alert('a link was clicked'); });
$('form').bind('submit', function () { isRefresh = false; alert('form was submitted'); });

ブラウザウィンドウのクローズイベントをキャプチャする方法に基づいていますか? . 更新ロジックを追加しました。

于 2011-03-09T15:42:10.147 に答える