当用户离开页面时,我正在尝试运行php脚本。这是我目前正在使用的:
function unload(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
window.location = "unsupported.html";
return false;
}
}
}
ajaxRequest.open("GET", "ajax/cancelMatch.php", true);
ajaxRequest.send(null);
}
通过FireBug,看起来它正在调用ajaxRequest对象的open函数,但是PHP无法运行!这与它在页面卸载时调用它有关吗?
另外,我发现了一个名为onbeforeunload的事件,但是我仍然不知道如何使它工作(如果仍然可用)。
最佳答案
您需要尽快将ignore_user_abort()
设置为true。如果有默认设置,那会更好。