如果表单中有未保存的数据,我想在关闭firefox(或)IE窗口时抛出自定义确认窗口。但是这个问题在chrome浏览器中没有发生。 我确实覆盖了onbeforeunload事件,但firefox抛出两个确认窗口,一个是我的自定义确认,另一个是 firefox确认窗口,我想限制firefox抛出的确认窗口我只想要我的自定义确认。我已经给出了下面的代码片段,
function unloadPage(){
if(unsaved){
return confirm(getMessage(kradVariables.MESSAGE_KEY_DIRTY_FIELDS));
}
}
window.onbeforeunload = unloadPage;
谢谢, Prem Kumar B
答案 0 :(得分:0)
你只能在onbeforeunload处理程序中返回一个字符串,并且在那里忽略对confirm(),alert()和prompt()的调用。然后,返回的字符串将通过两个按钮呈现给用户,然后他将停留在页面上或离开页面。
自2011年5月25日起,HTML5规范声明要调用 window.showModalDialog(),window.alert(),window.confirm()和 在此事件期间可能会忽略window.prompt()方法。
https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload
示例:
window.onbeforeunload = function()
if(unsaved) {
return getMessage(kradVariables.MESSAGE_KEY_DIRTY_FIELDS);
}
};