当用户离开页面时,我正在尝试运行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。如果有默认设置,那会更好。

09-19 22:41