• chrome浏览器onunload方法无法执行window.location.href


    记录用户不正常退出,如关闭浏览器的时候,执行onunload方法,跳回后台记录用户已经退出的信息,在ie上可以正常跳转,但在Firefox和chrome上却无法跳转。

    测试后发现以下方法可以实现,支持firefox、chrome、ie、360急速模式:

     1 <script type="text/javascript">
     2     window.onbeforeunload = function(){
     3         var res = false;
     4         $(function () {
     5             $.ajax({
     6                 url: '@url',
     7                 type: 'post',
     8                 success: function (data) {
     9                     res = true;
    10                 }
    11             });
    12             return res;
    13         });
    14     };
    15     window.onunload = function(){
    16         return window.location.href = '@url';
    17     };
    18 </script>


    <script type="text/javascript">
    window.onbeforeunload = function(){
    var res = false;
    $(function () {
    $.ajax({
    url: '@url',
    type: 'post',
    success: function (data) {
    res = true;
    }
    });
    return res;
    });
    };
    window.onunload = function(){
    return window.location.href = '@url';
    };
    </script>

    问题:
    1.不支持360兼容模式
    2.无法区分刷新和关闭,刷新的时候也会直接退出

    不知道有没有更好的方法,欢迎留言讨论

    done!

  • 相关阅读:
    Dependency property changed example
    业务数据分析
    WPF : 以鼠标指针为中心缩放
    WPF待学习问题列表(未完)
    GirdView前台数据类型转换
    牛人的博客
    使用Xpath对XML进行模糊查询
    XPath语法
    【HDU】3415 Max Sum of MaxKsubsequence
    【HDU】3474 Necklace
  • 原文地址:https://www.cnblogs.com/zqifa/p/js-onunload.html
Copyright © 2020-2023  润新知