我正在制作一个小应用程序来记录点击,这很棒,直到我点击iPhone / iTouch。我想指出的是,我一直在使用iTouch进行测试,我只是假设在iPhone上会发生同样的事情。
我目前所拥有的与此相似,
<script>
function save(){
// Capture link, with var mycoords containing string
var a = 'http://mydomain.com/capture.php?co='+mycoords;
var img = new Image(1,1);
// Loads link with params, PHP uses $_GET
img.src = a;
alert('f'); // For testing
}
// alerts 'f', does not send data on device
window.onunload = save;
// alerts 'f', does not send data on device
window.onunload = (function(){
save();
});
// Alerts 'f', does not send data on device
window.addEventListener("unload",save,false);
</script>
此代码适用于我的所有桌面浏览器,包括Safari,但在iTouch / iPhone上,没有。如果我在任何onunload实践之外执行save()函数,数据发送就好了。由于警报,我知道onunload工作正常。但是我对图像对象在这种情况下不起作用,但在其他地方工作感到困惑。我在网上看了很多,并没有找到解决方案。
也许这里有人可以给我一个解决方案或解释为什么会发生这种情况?我会很感激。谢谢你的时间。
答案 0 :(得分:0)
基本上没有办法可靠地检测onunload,如下所示:javascript unload event in safari mobile?
如果您正在尝试跟踪点击次数,我建议您在链接中添加一个点击事件处理程序,该处理程序首先调用您的save()函数,然后它可以返回true或更新document.location.href以取消用户到最后的链接。