Запросы Google Analytics срабатывают при загрузке страницы из Safari BFCache
Недавно я узнал о BFCache и о том, как он влияет на инструменты веб-аналитики. Чтобы узнать, насколько серьезна проблема на моем веб-сайте, я реализовал решение из web.dev. Я добавил настраиваемый параметр, чтобы узнать, запускается ли просмотр страницы через этот новый прослушиватель событий или через `` нормальный '' просмотр страницы, а также добавил настраиваемый параметр для просмотра статуса
performance.navigation.type
(Я знаю, что он устарел, но пока все еще работает). К моему удивлению, я получил рост примерно на 3,5%, что означает, что за один день, когда я реализовал решение, 3,5% просмотров страниц были запущены через событие pageshow.
НО: примерно в 5% этих случаев как событие pageshow, так и обычное событие pageview запускали просмотр страницы. И что еще интереснее: в большинстве этих случаев сначала запускалось pageshow-pageview, а затем, вскоре после этого, запускалось обычное pageview, последнее содержало в качестве типа навигации «0» вместо «2», как можно было бы ожидать. Таким образом, кажется, что в некоторых случаях javascript кэшированной страницы запускается снова, когда страница загружается из кеша, при этом вся информация о странице остается такой, какой она была, когда страница была помещена в кеш (например, тип навигации "0").
Мне удалось воссоздать это поведение в моем браузере сафари, но я только по совпадению, так как я не смог увидеть закономерность, когда запускается второй «нормальный» просмотр страницы, а когда нет.
Итак, вкратце: есть идеи, почему сафари повторно выполняет javascript, когда страница загружается из BFcache?