微调器可在台式机上使用,但不适用于iPhone

时间:2019-02-21 18:58:06

标签: javascript jquery mobile spinner

我有一个与此主体相关的页面:

<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>

问题在于微调器可以在PC和Mac的台式机上使用,也可以在野生动物园,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事件上……

0 个答案:

没有答案