iPhone / iTouch не запускается (новое изображение) запрос на загрузку - PullRequest
0 голосов
/ 11 февраля 2011

Эй, ребята, надеюсь, кто-нибудь может мне помочь.

Я делаю небольшое приложение для записи кликов, и это здорово, пока я не нажму на 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 нет. Если я выполняю функцию save () вне практики onunload, данные отправляются просто отлично. Я знаю, что onunload работает из-за предупреждений. Но я совершенно сбит с толку тем, что объект изображения не работает в этом случае, но работает везде. Я хорошо посмотрел в сети и не нашел решения.

Возможно, кто-то здесь может дать мне решение или объяснить, почему это происходит? Я был бы очень признателен. Спасибо за ваше время.

1 Ответ

0 голосов
/ 08 июня 2011

В принципе, нет способа надежно определить onunload, как здесь ответят: Событие выгрузки JavaScript в Safari Mobile?

Если вы пытаетесь отслеживать клики, я бы предложил добавитьобработчик события click для ссылки, который сначала вызвал бы вашу функцию save (), а затем мог бы вернуть true или обновить document.location.href, чтобы перевести пользователя к последней ссылке.

...