在页面卸载时执行javascript?

时间:2016-10-15 17:43:51

标签: javascript php jquery

您好我想在用户点击关闭标签按钮,后退按钮,链接等时调用JavaScript函数。这是我到目前为止所做的:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" 
              language="javascript" type="text/javascript"></script>

 <script type="text/javascript">

                $(window).unload(function(){
                  pageleave();
                });

               if(loged){
                    var Art = "<?php echo $id;?>";
                    var User = "<?php echo $email;?>";
                    var olikes = "<?php echo $Olikes;?>";
                    var odislikes = "<?php echo $Odislikes;?>";
                    var state = "<?php echo $state1; ?>";
                    function pageleave() {
                        $.get("dealLikes.php?article=Art&user=User>&state=1&likes=likes&dislikes=dislikes&Olikes=olikes&Odislikes=odislikes&prev=state");
                        alert("done");
                        return false;
                    }
               }else{}


              </script>

然后该函数应该执行一个php文件。然而,dosnt到目前为止,页面离开函数没有被调用,我测试了卸载功能与警报,它没有工作。我在互联网上搜索,但我找不到任何工作。我做错了什么?

1 个答案:

答案 0 :(得分:-1)

很抱歉,但我没有看到您使用的是jQuery。该风险在1.8中被弃用,在3.0中被删除

这也是一个重复的问题$(window).unload is not firing

这样做的实际方式就像

window.onbeforeunload = function() {
    return "Bye now!";
};

无论如何,我认为在你执行将程序控制权返回给js事件循环的那一刻(就像你的异步请求一样),它会关闭窗口