【问题标题】:show and hide spinner with jquery : does not work on Iphone, safary etc使用 jquery 显示和隐藏微调器:不适用于 Iphone、safari 等
【发布时间】:2020-02-17 21:10:27
【问题描述】:

我正在尝试使用 JQuery 显示/隐藏微调器。基本上我有这个代码:

function unLoader(e) {
    $(".site-content").hide();
    $(".loading").show();    
    }

   $(window).on('load', function() {
         $(".loading").hide();
         $(".site-content").show();
          window.onbeforeunload = unLoader;
    });

它适用于 Windows 上的 Chrome 和 FireFox 以及 MacOS 上的 Chrome。 但它不适用于 Safari MacOS。它不适用于 Safari Iphone 或 Chrome Iphone。

尝试更改 eventName 并不能解决问题:

var isOnIOS = navigator.userAgent.match(/iPad/i)|| navigator.userAgent.match(/iPhone/i);    
var eventNameHide = isOnIOS ? "pagehide" : "beforeunload";
var eventNameShow = isOnIOS ? "pageshow" : "load";

我们将不胜感激。

【问题讨论】:

    标签: javascript jquery ios spinner compatibility


    【解决方案1】:

    在您的上下文中,$().on("load") 函数不清楚。您可以使用文档准备检查文档是否已加载。

    $(document).ready(function() {
             $(".loading").hide();
             $(".site-content").show();
              window.onbeforeunload = unLoader;
        });
    

    如果你想使用你的实际代码,你需要定义 pagehide 方法。请尝试:

    var isOnIOS = navigator.userAgent.match(/iPad/i)|| navigator.userAgent.match(/iPhone/i);    
    var eventNameHide = isOnIOS ? "pagehide" : "beforeunload";
    
    $(document).ready(function() {
        $(".loading").hide();
        $(".site-content").show();
        window.addEventListener(eventNameHide, function (event) { 
            window.event.stopPropagation(); //trying with and without
            $(".site-content").hide();
            $(".loading").show(); 
        });
    });
    

    【讨论】:

    • 此代码不适用于 Safari MacOS、Chrome Iphone 或 Safari Iphone。
    • 好的。您需要在加载页面上显示微调器,然后加载微调器隐藏?对吗?
    • 我想在页面加载时显示微调器。所以,我在卸载用户所在的页面之前显示它,它显示而新页面没有显示。当新页面加载时,微调器应该隐藏。谢谢
    • 也许我应该使用 modernizr 或 polyfill,以便微调器可以在 Safari 或 Iphone 上运行...任何帮助将不胜感激!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2016-01-09
    相关资源
    最近更新 更多