【问题标题】:detect when respond.js finished work检测 response.js 何时完成工作
【发布时间】:2015-03-20 08:27:14
【问题描述】:

有什么方法可以检测到 respond.js 何时完成工作?

现在大约需要 1-2 秒才能正确显示布局。我想添加某种加载指示器,当respond.js完成它的工作时会隐藏它。

谢谢。

附言。我知道好的做法,但客户正在付钱。

【问题讨论】:

    标签: javascript respond.js


    【解决方案1】:

    您可以默认隐藏容器并显示加载指示器,然后使用媒体查询来切换它们。

    .container {
        display: none;
    }
    .loading {
        display: block;
    }
    @media (min-width: 1px) {
        .container {
            display: block;
        }
        .loading {
            display: none;
        }
    }
    

    支持媒体查询的浏览器会立即显示容器并隐藏加载指示器。在 response.js 处理媒体查询之前,旧 IE 不会。

    【讨论】:

    • Hacky 但有效且富有创意的解决方案。我最终使用它制作了一个 js 检测器。谢谢!
    【解决方案2】:

    警告:咆哮

    想一想。考虑成为一个用户,当您等待 JS 在具有缓慢渲染引擎的古老(IE

    <!--[if lte IE 8]>
    <style type="text/css">
     body { min-width: 1020px; }
    </style>
    <![endif]-->
    

    IE8 用户宁愿水平滚动一点点(他们习惯了次优的用户体验,他们毕竟使用的是 IE8 !!!!!!)而不是让 respond.js 破坏他们的用户体验,因为它正在浏览浏览器性能。

    【讨论】:

    • 这是一种移动优先的方法,因此改变正文宽度没有区别。
    • 头部学习第 2 课:当您需要支持 IE8 时,移动优先方法不起作用。 (注意:放入respond.js 并不支持 IE8,它只是让它变得更加不可用)。听爱尔兰先生 - github.com/h5bp/html5-boilerplate/issues/816
    • 我知道好的做法,但客户正在付钱。
    猜你喜欢
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2012-06-30
    相关资源
    最近更新 更多