0
msgBoxが表示されているときにページのリダイレクトを停止し、ユーザーがボックスのボタンを押すまで待機します。msgboxが表示された後にリダイレクトするページを停止する
ページがアンロードされたときでもmsgboxを表示できますが、ユーザーの入力を待たずにページが別のWebページにリダイレクトされます。
<script>
$(window).bind('beforeunload', function() {
msgbox();
});
function msgbox() {
$.msgBox({
title: "Confirmation",
content: "Do you agree with the information provided?",
type: "confirm",
buttons: [{ value: "Yes" }, { value: "No" }],
success: function (result) {
if (result == "Yes") {
window.location.replace("somepage/controller/func2");
} else {
window.location.replace("somepage/controller/func1");
}
}
});
}
</script>
しかし、ここでは、「あなたが行った変更は保存されないかもしれません」というLeaveとStayオプションの警告が表示されるようになりました。クリックすると、msgboxが表示されます。 –
@SahibUzZamanこれは、beforeunloadイベントでは避けられません。 セキュリティ上の理由から、またデフォルトのためです。 詳細については、[SO answer](http://stackoverflow.com/a/32018719/2588459)を参照してください。 – harkirat1892