相关疑难解决方法(0)

JavaScript,浏览器,窗口关闭 - 发送AJAX请求或在窗口关闭时运行脚本

我试图找出用户何时离开指定页面.找到他在页面内部使用链接导航时没有问题,但我需要标记一些内容,例如当他关闭窗口或输入另一个URL并按下回车时.第二个不是那么重要,但第一个是.所以这是一个问题:

我怎么能看到用户何时关闭我的页面(捕获window.close事件),然后......并不重要(我需要发送一个AJAX请求,但如果我能让它运行警报,我可以做其余的).

javascript browser window dom-events

27
推荐指数
3
解决办法
3万
查看次数

window.unload上的jQuery帖子(窗口或浏览器关闭)

当用户以任何方式离开页面时,我需要发送一个帖子请求.到目前为止,这就是我所拥有的,但它不起作用:

$(window).unload(function(){        
 $.post("http://localhost/project/quizTime.php",{action:"updateTime",userID:userid,quizID:quizid,newTime:currentTime*1000,rand:Math.random()},function(time)
    {
    });
});
Run Code Online (Sandbox Code Playgroud)

通过用click函数替换window.unload来测试PHP代码.这完美地运行并根据需要更新所有内容,这意味着问题在于$(window).unload触发器.

jquery

4
推荐指数
1
解决办法
3981
查看次数

$(窗口).unload没有按预期工作

我正在使用PHP + MySQL + JavaScript创建一个小型聊天应用程序,我编写了一个函数disonnectUser(),当用户按下断开连接按钮时会调用该函数.这里是:

function disconnectUser(){
            $.post('web/WEB-INF/classes/handleChatUser.php',{ action: 'disconnect',nick: localNickname});           
            $('#chat').stop(true,true).fadeOut(2000,function(){
                nicknameDialog();
            });

            $('#messageInput').val(null);
            $('#clientList').html(null);
            $('#chatScreen').html(null);
            clearInterval(refreshIntervalId);
            clearInterval(refreshIntervalId2);
            connected = false;
        }
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力,但当我在另一个上下文中调用这个函数时,当用户而不是按断开连接只是退出页面时,在这个函数中

$(window).unload(function() {
                if(connected){
                disconnectUser();
                connected = false;
                }
            });
Run Code Online (Sandbox Code Playgroud)

它不起作用.而且我确定它正在被调用,因为如果我发出警报,它会在关闭页面之前正常调用.我认为在代码完全运行之前页面正在关闭,所以我想如果我在那里放一些块直到代码完成运行它会工作吗?

javascript chat

3
推荐指数
1
解决办法
7332
查看次数

标签 统计

javascript ×2

browser ×1

chat ×1

dom-events ×1

jquery ×1

window ×1