您不能防止這一點,但你可以通過一個彈出窗口,他不應該重新加載通知用戶。這與onbeforeunload窗口事件,在MDN最好的證明來完成。
這在腳本的代碼
var controllVar = 1;
添加到您的父窗口添加到您的彈出窗口。 (彈出窗口的window.open(...)
返回)。這裏實際上是一些密集的錯誤檢測,因爲IE在它的各種口味顯示多個錯誤。
window.onbeforeunload = function (e) {
//here we try accessing the popup
try {
if(!popup && popup.controllVar != 1) {
return;
}
} catch(e) {
return;
}
e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'YOUR ERROR MESSAGE';
}
// For Safari
return 'YOUR ERROR MESSAGE';
};
這將在Stackoverflow上表現完全一樣,如果您向答案textarea添加一些文本並嘗試離開頁面。
<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="return verify_complete()" />
如果verify_complete()
函數返回true
它會回來後,如果沒有,也不會:
他沒有問到這個問題-1。 – Icarus