JS: перезагрузить () весь веб-сайт после перемещения вперед-назад на мобильном телефоне * только 1001 * - PullRequest
0 голосов
/ 30 апреля 2020

Мой проект представляет собой одностраничный плагин, использующий простые css и js, gsap для временных шкал и анимации.

Я протестировал перезагрузку моего сайта с помощью кнопки "onclick" с помощью window.location.reload ( ). Работает нормально!

Если пользователь пролистывает историю браузеров, я попытался:

window.addEventListener('pageshow', function (e) {
    if(e.persisted) {
        window.location.reload();
    }

На рабочем столе это работает. На Android работает. Но на IOS мобильный чистый хаос. Кажется, что скрипты загружаются несколько раз, производительность низкая, все браузеры, ...

Как я могу перезагрузить весь сайт на мобильном телефоне после использования навигации по истории браузера?

br chris

1 Ответ

0 голосов
/ 30 апреля 2020

Поскольку pageshow выполняется после load, вы можете:

window.addEventListener('pagehide', function(e) {
    var $body = $(document.body);
    $body.children().remove();
    // after callback, run this script
    setTimeout(function() {
        $body.append("<script type='text/javascript'>window.location.reload();<\/script>");
    });
});
...