Задать вопрос
Akdmeh
@Akdmeh
PHP, Yii2, Music

Как дождаться загрузки картинки при переходе?

Добрый день!
Возникла необходимость узнать, перешел ли пользователь куда-то со страницы по ссылках или просто ушел сразу после перехода.
Решил сделать это так:
<script type="text/javascript">
function getPicture(){
    var image=new Image();
    image.src='some.site.ru/someimage.jpg';
    return true
}
document.onclick=getPicture
</script>

То есть, при выгрузке страницы мы скачаем картинку-счетчик, которая передаст необходимую информацию.
Но возникла проблема - как заставить дождаться браузер загрузить картинку или хотя бы дать возможность браузеру загрузится ей в фоновом режиме?
Сейчас если перейти и не вставить ожидания - браузер перейдет и отменит загрузку картинки. Может, существует лучшее решение данной проблемы?

Upd.: Да, ответ будет именно 1x1 пиксель или вообще просто заголовки, здесь важен факт сообщения перехода по ссылке. Я уже тестировал метод window.onUnload, но я не понял, как отличить собственно закрытие окна браузера от ПЕРЕХОДА по ссылке. Возможно, вы подскажете, как это сделать?
  • Вопрос задан
  • 224 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@oPOCCOMAXAo
Используйте обработчик события beforeunload. И в нём можно использовать синхронный запрос на адрес этой картинки (или любой другой ресурс) и браузер подвиснет, ожидая ответ сервера. В таком случае картинка загрузится и страница закроется. Но не рекомендую использовать такой метод, если картинка не 1х1 пиксель, это сильно будет раздражать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы