在我的聊天应用程序中,当我的应用程序关闭时,我需要得到用户的确认.
所以我使用了window.onbeforeunload确认警报和window.onunloadlogout().
但这两个功能都在IE和Chrome中运行.(应用程序运行正常)
window.onbeforeunload 没有在Opera工作,我的消息将不会在Firefox中显示.
window.onunload 不适用于Safari,Opera和Firefox.
我的javaScript代码将是,
// Used for confirmation , to closing the window
window.onbeforeunload = function () {
return "Are you sure want to LOGOUT the session ?";
};
// Used to logout the session , when browser window was closed
window.onunload = function () {
if((sessionId != null)&&(sessionId!="null")&& (sessionId != ""))
logout();
};
Run Code Online (Sandbox Code Playgroud)
我也尝试了与JQuery相同的功能,
<script type="text/javascript">
$(window).on('beforeunload', function() {
return 'Are you sure want to LOGOUT the session ?';
});
$(window).unload(function() …Run Code Online (Sandbox Code Playgroud) 我正在使用window.onbeforeunload在Windows关闭时向用户显示一条消息,该功能适用于Chrome和IE,但它不适用于Firefox,我使用的是firefox版本26.0我试过很多但没有意思,有人说它是firefox中的一个错误,就像在这篇文章 和另一个建议一些解决方案,因为在这篇文章我尝试了所有可用的解决方案使用javascript和jquery但它不起作用,现在我显示一个确认对话框,但浏览器默认对话框出现后,它我对此不满意,我也试图阻止浏览器默认对话框出现使用,preventDefault()但也没有意思!如果对这个问题有任何解决方案它会很棒,这是我如何使用window.onbeforeunload:
<script>
window.onbeforeunload = confirmWinClose();
function confirmWinClose() {
var myVar ='${isFireFox}';
if(myVar=='true'){
return confirm(confirmExamClose);
}else{
return confirmExamClose;
}
}
<script>
Run Code Online (Sandbox Code Playgroud)
注意:isFireFox是一个jsp变量,我曾经使用User-AgentHeader 知道浏览器的类型,并且confirmExamClose是我向用户显示的消息.