stackoverflow.com(他のリソースでも)で多くの同様の質問を確認しましたが、回答が見つかりませんでした。そこで、質問を単純化して一般化しました。それは明白な解決策のようです:
$(document).ready(function() {
var a = 3;
var b = 5;
// no message when pressed submit button
$('form').submit(function() {
$(window).off('beforeunload');
});
// confirm of the need to save
$(window).on('beforeunload', function(e) {
if (a != b)
if (confirm('You changed data. Save?')) {
$('form').submit();
// alert('Your data is saved. (With alert submit() work only in FireFox!?)');
}
});
});
しかし、仕事を提出しないでください。alert()を使用する場合、FireFoxでのみ機能します。クロスブラウザソリューションを(おそらく遅滞なく)修正したいと思います。多分誰が根本的に別の方法の解決策を知っていますか。
PS最初の部分でここに説明されているアンロード前のいくつかの独創性について:https ://stackoverflow.com/a/6065085/1356425 、しかしこれは明らかに機能的な解決策ではありません。