iPhone / iTouch未触发(新图像)请求onunload

时间:2011-02-11 01:31:19

标签: javascript iphone onunload window.onunload

嘿伙计们,希望有人可以帮助我。

我正在制作一个小应用程序来记录点击,这很棒,直到我点击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工作正常。但是我对图像对象在这种情况下不起作用,但在其他地方工作感到困惑。我在网上看了很多,并没有找到解决方案。

也许这里有人可以给我一个解决方案或解释为什么会发生这种情况?我会很感激。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

基本上没有办法可靠地检测onunload,如下所示:javascript unload event in safari mobile?

如果您正在尝试跟踪点击次数,我建议您在链接中添加一个点击事件处理程序,该处理程序首先调用您的save()函数,然后它可以返回true或更新document.location.href以取消用户到最后的链接。