相当于PHP的javascript卸载

时间:2010-09-10 18:39:08

标签: php javascript

对于javascript,有一个卸载功能,当页面关闭时,做一些事情。 php有相同的内容吗?

由于 让

6 个答案:

答案 0 :(得分:4)

PHP是服务器端,所以当用户看到页面时,PHP线程已经完成。你当然可以在你的javascript卸载中调用ajax调用,尽管它调用了一个PHP脚本。

答案 1 :(得分:2)

PHP是一种服务器端技术。除非您使用JavaScript将消息发送到PHP脚本,否则它不知道页面正在关闭。然后就像任何其他php页面一样。

答案 2 :(得分:2)

如果您想在请求结束时执行某些操作,可以使用register_shutdown_function

function my_func() {
  // perform some cleanup
}    

// my_func will be called after the rest of your script has executed
register_shutdown_function('my_func');

答案 3 :(得分:0)

由于PHP是服务器端语言,因此如果不使用某种基于浏览器的脚本语言,就不可能做到这一点。

答案 4 :(得分:0)

简短回答NO!

原因是PHP只是创建了一个页面,它构建了一个页面,它将html发送给Apache的页面服务,完成后,PHP脚本已经完成。

可能的黑客正在使用javascript。

所以继承人和例子,需要jQuery-

$.fn.unloadping = function(url,params,callback)
{
     this.onbeforeunload = function()
     {
         $.ajax({
             type : 'GET',
             data : params,
             success : function(response)
             {
                 callback(this) //Send window context back
             }
         });
         return false;
     }
     return $(this); //keep the chain
}

可以这样使用

$(window).unloadping('/ping/closewindow.php',{page:window.location.href},function(context){
    this.close(); //Needs to be checked
});
我可以问你为什么要这样做?你的动机是什么等等?

答案 5 :(得分:-1)

PHP不是面向事件的,知道页面完成的最佳方法是在最后一行。

如果你需要知道什么时候“卸载”一个类,你可以使用函数__destroy