【问题标题】:How to temporary suspend browser rendering then resume for the whole page如何临时暂停浏览器渲染然后恢复整个页面
【发布时间】:2015-06-15 20:01:33
【问题描述】:

我知道这在初读时可能听起来很奇怪。请不要仅仅因为这个而放弃这个想法。

自从出现复杂的 GUI 以来,暂停和恢复渲染是很常见的事情,在包括 Java GUI 和 .NET 在内的许多 UI 框架中都有类似的功能。这背后的主要思想是 a) [不要使用不必要的资源] 和 b) [不要闪烁屏幕],同时多步屏幕/控件更新正在进行并处于临时阶段。

我关心的主要是导航。当用户从一个页面导航到另一个页面时,会出现难看的闪烁(始终在 Chrome 中)和调整大小。

我知道使用 AJAX 技术和/或帧我们可以帮助解决这个问题,并且简单地暂停/恢复渲染并不能解决和优化带宽使用等问题。尽管如此,即使在 ajax 优化页面上,简单的暂停/恢复也将大大改善视觉效果,因为页面的一小部分停止闪烁、向上跳然后返回,或者滚动条停止显示然后消失等等。

我想知道,在用户体验如此如此重要的今天,它实际上推动了产品销售,并击败了并发产品,但仍然可以通过添加/使用这个简单的功能来改善浏览体验。

我想这可能是浏览器特定的功能/hack,而不是标准的一部分(可通过简单的 Javascript 调用获得)。顺便说一句,为什么不呢?

我是否有机会实施这种(或类似的)行为来改善我的网站用户体验?

提前致谢

【问题讨论】:

  • 在一个设计合理的页面上不应该有任何闪烁或跳跃。通过 AJAX 加载的任何内容都应在其回调中具有预先分配的尺寸或合适的动画。您可以选择使用加载器覆盖覆盖整个页面,直到加载完成 - 这通常是对存在问题的预先存在的页面的修复。
  • 隐藏内容(显示:无)直到完全加载将减少 CPU 使用率并停止缓慢加载的抖动

标签: javascript html google-chrome dom browser


【解决方案1】:

你所陈述的目标:

a) [不要使用不必要的资源] 和 b) [不要闪烁屏幕] 正在进行多步骤屏幕/控件更新并处于临时阶段

都是通过SPA(单页应用)的方式解决的。它为您提供了许多不同的选项来控制应用程序状态的行为,并且不需要您关心浏览器呈现。

很酷的是,人们可以根据需求和知识选择不同的技术堆栈。

例如:Angular 或纯ASP.NET,或大量不同的框架输出there

因此,如果要具体回答您的问题:在您的应用程序中呈现特定代码部分时暂停浏览器肯定会被视为“不好的做法”。另外,请记住,支持和扩展修改正常执行线程的应用程序将变成噩梦和浪费时间。而且您需要深入了解您希望应用程序在其中运行的每个浏览器的 API,包括不同的设备和平台。

【讨论】:

    猜你喜欢
    • 2020-08-12
    • 2021-11-25
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2013-08-12
    相关资源
    最近更新 更多