Прервана загрузка фрейма OSX Safari
У меня есть базовый HTML-сайт (с некоторым javascript), используя простой тег привязки для загрузки файла следующим образом:
Чтобы отслеживать количество загрузок, у меня есть обработчик onclick , который передает событие в Google Analytics следующим образом:
Это работает так, как ожидалось, при загрузке файла с помощью Chrome OS X и IE в Windows 7. Загружается файл, и я вижу это событие в моей учетной записи GA.
Когда я тестирую его в Safari 8 на Yosemite, файл загружается, но GA редко видит событие. И, конечно, я получаю страшный Failed to load resource: Frame load interrupted в консоли ошибок Safari.
Я предполагаю, что иногда получаю событие GA из-за состояния гонки между тем, когда Safari прерывает действие и когда запускается код GA.
Итак, можно ли все-таки исправить это в Safari, чтобы всегда получать события GA?
Обратите внимание, что мой вопрос, вероятно, имеет ту же самую основную причину, что и этот без ответа вопрос: Загрузка кадра прерывается при загрузке файлов excel
Обновление 6 июня
Теперь я совершенно смущен. Я просто заметил, что если я открою новую страницу браузера на моем сайте (в Safari) и нажимаю на загрузку, то она будет занесена в журнал GA. Однако последующие клики загружают еще файл, но не регистрируются GA.
Если я закрою это окно и открою новый, то снова первая загрузка будет записана GA.
В отличие от этого, при использовании Chrome каждая загрузка регистрируется GA.
Теперь я думаю, что, возможно, я искал неправильную проблему. Поведение, которое я вижу, говорит мне, что Safari поддерживает состояние в JavaScript, которое позволяет выполнить первый вызов GA, но блокирует все последующие вызовы.
Но это тот же код, который запускается в Chrome, поэтому я не знаю, как начать отладку проблемы.