我在用着window.onbeforeunload
在窗口关闭时向用户显示消息,该功能在 Chrome 和 IE 上运行良好,但在 Firefox 上不起作用,我使用的是 Firefox 版本26.0
我已经尝试了很多,但没有任何意义,有人说这是 Firefox 中的一个错误,如下所示post https://stackoverflow.com/questions/3727216/window-onbeforeunload-support-in-firefox另一个提出了一些解决方案,如下所示post https://stackoverflow.com/questions/14645011/window-onbeforeunload-and-window-onunload-is-not-working-in-firefox-safari-o我尝试了使用 Javascript 和 jQuery 提供的所有解决方案,但它不起作用,现在我显示一个确认对话框,但浏览器默认对话框出现在它之后,我对此不满意,我还尝试阻止浏览器默认对话框出现使用preventDefault()
而且也没有什么意思!如果这个问题有任何解决方案那就太好了,这就是我如何使用window.onbeforeunload
:
<script>
window.onbeforeunload = confirmWinClose();
function confirmWinClose() {
var myVar ='${isFireFox}';
if(myVar=='true'){
return confirm(confirmExamClose);
}else{
return confirmExamClose;
}
}
<script>
Note:isFireFox
是一个jsp变量,我用它来了解浏览器的类型User-Agent
标头和confirmExamClose
是我向用户显示的消息。
这是适用于 Firefox 和 Chrome 的有效解决方案。我还没有在 Safari 和 Opera 中进行测试。
var myEvent = window.attachEvent || window.addEventListener;
var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload'; /// make IE7, IE8 compitable
myEvent(chkevent, function(e) { // For >=IE7, Chrome, Firefox
var confirmationMessage = 'Are you sure to leave the page?';
(e || window.event).returnValue = confirmationMessage;
return confirmationMessage;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)