首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$(window).on('beforeunload',function()有时不工作

$(window).on('beforeunload',function()有时不工作
EN

Stack Overflow用户
提问于 2013-11-15 14:53:22
回答 1查看 350关注 0票数 0

我使用了下面的代码来关闭窗口选项卡。它工作得很好。但有时不起作用。

代码语言:javascript
复制
$(window).on('beforeunload', function() {
    var i = "<?php echo $this->uri->segment(4);?>";
    var j = "<?php echo $_SERVER["REMOTE_ADDR"];?>";
    var k = "<?php echo base_url();?>";     
    $.ajax({
                url: "<?php echo base_url().'home/gethost';?>",
                type: "POST",
                data: { id : i , ip: j },
                datatype : "html"
            });
return 'Exit Now!';
});
EN

回答 1

Stack Overflow用户

发布于 2013-11-15 15:01:24

你有一个竞态条件。当您的AJAX请求正在传输时,浏览器正在拆除页面,并将您的AJAX请求随身携带。使用同步AJAX:

代码语言:javascript
复制
$.ajax({
    async: false,
    ....

在某些情况下会有帮助(我自己也用过--根据经验,它是有效的),但我不认为任何东西都能在这里工作。浏览器通常对在beforeunload中可以做的事情有相当严格的限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19995198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档