0

这就是我捕获离开页面的用户的方式。

window.onbeforeunload = function (evt) {
    var message = "Are you sure you want to leave?";
    if (typeof evt == 'undefined') {
        evt = window.event;
    }
    if (evt) {
        evt.returnValue = message;
    }
    return message;
}

</script>

现在我想要捕获用户单击“离开此页面”并将某些内容插入数据库。这怎么可能?

4

1 回答 1

1

如果您不向他们显示对话框,您可以(尝试)捕获用户离开。(如果您确实向他们显示对话框,则没有很多选项。)

您必须在onebeforeunload.

onbeforeunload = function() {
    var data = 'id=123';
    var xhr = new XMLHttpRequest;
    xhr.open('POST', '/imleavingthepage', false);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", data.length);
    xhr.send(data);
}

但要知道这不一定可靠。onbeforeunload不是标准的,浏览器甚至可能不会发送请求。

但是,我已经在 Chrome 中完成了此操作,并且通常是成功的。

于 2013-11-09T06:25:46.857 回答