Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用Jquery关闭浏览器选项卡/窗口/刷新之前运行一些代码_Jquery_Tabs_Page Refresh_Onbeforeunload_Clearinterval - Fatal编程技术网

如何在使用Jquery关闭浏览器选项卡/窗口/刷新之前运行一些代码

如何在使用Jquery关闭浏览器选项卡/窗口/刷新之前运行一些代码,jquery,tabs,page-refresh,onbeforeunload,clearinterval,Jquery,Tabs,Page Refresh,Onbeforeunload,Clearinterval,在关闭浏览器选项卡/窗口或刷新浏览器之前,我需要添加一些代码。例如,我需要将学生的活动分数发送到数据库,并在需要时停止所有正在运行的计时器,同时向学生显示一个警报,以显示他们获得的分数。我使用了“beforeunload”,但它不适用于我 $(window).bind('beforeunload', function(e){ $.ajax({ type:'POST', url: 'increaseScore.php', data: {pe

在关闭浏览器选项卡/窗口或刷新浏览器之前,我需要添加一些代码。例如,我需要将学生的活动分数发送到数据库,并在需要时停止所有正在运行的计时器,同时向学生显示一个警报,以显示他们获得的分数。我使用了“beforeunload”,但它不适用于我

$(window).bind('beforeunload', function(e){
    $.ajax({
        type:'POST', 
        url: 'increaseScore.php',
        data: {personal_code: "414896521", lScore: 85},
        success: function(response) {
            alert("you have " + response + "Scores, now"); // show scores alert
        }
    }).promise().done(function() {
        clearInterval(); // clear all timers
    })
})

在关闭浏览器选项卡或重新加载浏览器之前,执行此操作的方法是什么?非常感谢

是的,你可以。试试这个:-

window.addEventListener("beforeunload", function (e) {
  var confirmationMessage = "\o/";

  (e || window.event).returnValue = confirmationMessage; //Gecko + IE
  return confirmationMessage;                            //Webkit, Safari, Chrome
});
我没有在所有浏览器中尝试过 或


它也应该起作用

类似的问题-@user2947那么,你认为在关闭浏览器之前没有运行代码的方法吗?谢谢@user2947,它在Chrome和Internet explorer中工作,当页面/窗口关闭时,它也在firefox上工作,但当页面刷新时,它在firefox上不工作,有什么理由这样做吗?
window.onbeforeunload = function () {
    return "Do you really want to close?";
};