спиннер работает на десктопе, а не в iphone - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть страница с этим телом:

<body>
    <div class="loading">
            <div class="loader"></div>
    </div>
    <div class="site-content">
 [... all the content]
</div>
</body>

Я использую этот код, чтобы показать / скрыть счетчик

<script>
    function unLoader(e) {
    document.querySelector(".site-content").style.display='none';
    document.querySelector(".loading").style.display='block';
    }
     window.onload = function() {
        document.querySelector(".loading").style.display='none';
        document.querySelector(".site-content").style.display='block';
        window.onbeforeunload = unLoader;
    };
</script>

Проблема заключается в том, что счетчик работает как на рабочем столе, так и на компьютере.ПК и Mac, на Safari, Firefox, Chrome и т.д ...

Но это не работает на моем Iphone.

С другой стороны, я использую счетчик для вызовов в AJAX:

var $loading = $('.loading').hide();
$(document)
    .ajaxStart(function () {
        $loading.show();
    })
    .ajaxStop(function () {
        $loading.hide();
    });

Но на этот раз спиннер работает в мобильном устройстве (iphone)!

Как мне заставить спиннер работать для мобильных устройств на всех моих страницах (используя код, показанный первым)?

Заранее спасибо.

РЕДАКТИРОВАТЬ 1: для тестирования я попробовал этот код:

<script>
    $(window).on("load", function(){
        $(".loading").show();
        $(".site-content").hide();
    });
</script>

И он действительно показывает счетчик (и, конечно, нескрыть это).

Итак, проблема в событии onbeforeunload ...

...