0

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

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

也许这里有人可以给我一个解决方案或解释为什么会这样?我会很感激。感谢您的时间。

4

1 回答 1

0

基本上没有办法可靠地检测 onunload,正如这里回答的那样:javascript unload event in safari mobile?

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

于 2011-06-08T19:11:33.493 回答