我知道这个问题已在SO上得到解答,但我无法在移动浏览器上运行。
当某个网页关闭时(标签或窗口关闭),我需要向我的服务器发送请求。
以下是我的工作:
window.addEventListener("unload",function(e) {
var pl = "bla=blabla";
var req = new XMLHttpRequest();
req.open("POST","http://myapi/myendpoint",false);
req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
req.send(pl);
},false);
window.addEventListener("beforeunload",function(e) {
var pl = "bla=blabla";
var req = new XMLHttpRequest();
req.open("POST","http://myapi/myendpoint",false);
req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
req.send(pl);
},false);
如果页面刷新或其标签/窗口关闭,这在桌面(Chrome和Firefox)上运行正常。
在移动设备上,它仅在刷新页面或我们输入其他网址时才有效。 如果我们关闭标签或程序(chrome / safari ...),它将无效。到目前为止,我已经测试过了:
在移动设备上,如果我们关闭标签,则永远不会发送请求:(!
如何让它在移动设备上完全正常工作? (即关闭/关闭页面选项卡或浏览器时)?