当前位置: 首页 > 面试题库 >

window.onbeforeunload和window.onunload在Firefox,Safari,Opera中不起作用?

宗安宁
2023-03-14
问题内容

在我的聊天应用程序中,我需要在关闭应用程序时从user确认。

所以我使用了window.onbeforeunload确认警报和window.onunloadlogout()。

  1. 但是这两个功能都可以在IE和Chrome中使用。(应用程序运行正常)

  2. window.onbeforeunload 在Opera中无法使用,并且我的消息不会在Firefox中显示。

  3. 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();
};

我也尝试过使用JQuery同样的功能,

<script type="text/javascript">

    $(window).on('beforeunload', function() {
        return 'Are you sure want to LOGOUT the session ?';
    });

    $(window).unload(function() {
        if ((sessionId != null) && (sessionId != "null") && (sessionId != "")) {
            logout();
        }
    });

</script>

问题答案:

onunload通过将Ajax异步请求更改为同步请求,我获得了除Opera以外的所有浏览器的解决方案。

xmlhttp.open("POST","LogoutAction",false);

它适用于 Opera 以外的所有浏览器。



 类似资料:
  • 问题内容: 我设置了一个动画,可以在Chrome 上正常运行,但是不能在Safari(IOS9 iPhone或9-El Capitan)上运行,也不能在Firefox上运行。 问题答案: @asimovwasright的答案是正确的。 为了避免在CSS上发生太多重复,我将SCSS与一起使用,以遍历所有可用范围(在本例中为8) 和HTML:

  • 问题内容: 我正在使用此页面 -http : //ecmazing.com/cors.html-向此资源发出跨域Ajax请求: http //hacheck.tel.fer.hr/xml.pl 它适用于Chrome,Safari和Firefox,但不适用于IE9和Opera。 代码: (预期结果是XML代码字符串。) 自己看看: http : //ecmazing.com/cors.html 在I

  • 问题内容: 我有5个FF,Chrome,IE,Opera和Safari插件/扩展程序。 如何识别用户浏览器并重定向(一旦单击安装按钮)下载相应的插件? 问题答案: 谷歌浏览器可靠检测通常会导致检查用户代理字符串。这种方法不可靠,因为欺骗这个值很简单。 仅在确实需要时才使用浏览器检测方法,例如显示特定于浏览器的安装扩展说明。尽可能使用特征检测。 可靠性分析 在先前的方法依赖于渲染引擎的性质来检测浏览

  • 问题内容: 我正在尝试通过图像在h1标签中填充文本的内容。按照我的理解;-),我正在html中执行以下操作: 并在css文件中: 事实是,它不能产生预期的结果……就是其中图像为彩色的文本。图像显示在div的整个背景上,而不仅显示在文本后面。此外,文本本身仍为黑色。 我正在Firefox上尝试。没有其他浏览器。 我错过了什么吗? 谢谢你的帮助。 问题答案: 虽然存在,但不存在,因此您将无法在Fire

  • 问题内容: 由于某些原因 在Safari 11中显示为未旋转。 Chrome 63可以正确呈现它。 有什么问题? 谢谢! 问题答案: 在SVG 1.1中,元素不支持转换属性。在SVG2中,建议它们应该。 Chrome和Firefox实现了SVG 2规范的这一部分,而Safari尚未实现,而IE11则从未实现。 在不支持SVG2功能的浏览器中,可以通过用元素替换元素或在元素上创建子元素并将转换放在元

  • 我正在尝试创建一个带有渐变边框的自定义按钮。此时,我得到了在Chrome和Firefox中工作的按钮。 我已经跟随了一个在线指导如何创建一个渐变的自定义边框,也是圆角的。指南的链接可以在这里找到:documentation。 但由于某些原因,相同的样式在Safari中不起作用。我不知道为什么会这样。 这里是我用来创建按钮的CSS代码。我还在底部包含了一个样式相同的片段。请注意,代码段有一些额外的类