对于javascript,有一个卸载功能,当页面关闭时,做一些事情。 php有相同的内容吗?
由于 让
答案 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