我希望能够从网页中了解浏览器的硬件资源,或者至少是一个粗略的估计。
即使您检测到现代技术的存在(例如csstransforms3d
, csstransitions
, requestAnimationFrame
)在浏览器中通过类似的工具Modernizr
,您无法确定是否激活某些消耗性能的选项(例如精美的 3D 动画)或避免它。
我这么问是因为我有(很多)浏览器遇到这种情况的经验是现代的(最新的 Chrome 或 Firefox 支持所有很酷的技术)但操作系统的 CPU、GPU 和可用内存只是灾难性的(带有集成 GPU 的 32 位 Windows XP),因此纯粹基于检测到的浏览器上限做出的决策是不好的。
虽然 Nickolay 给出了非常好的和广泛的解释,但我想建议一个非常简单但可能有效的解决方案 - 您可以尝试测量页面加载所需的时间并决定是否使用资源匮乏的功能或不是(Gmail 做了类似的事情 - 如果加载持续太长时间,则会显示切换到“基本 HTML”版本的建议)。
这个想法是,对于速度较慢的计算机,加载任何页面,无论内容如何,平均而言都应该比现代计算机慢得多。获取加载页面所花费的时间应该很简单,但有几点需要注意:
- 您需要进行一些实验来确定将“太慢”阈值放在哪里。
- 您需要记住,缓慢的连接可能会导致页面加载速度变慢,但这可能会在极少数情况下产生影响(使用DOM 就绪而不是load事件也可以在这里提供帮助)。
- 此外,由于缓存的原因,用户第一次加载您的网站可能会慢得多。一个简单的解决方案是将结果保存在 cookie 或本地存储中,并且仅在用户第一次访问时考虑加载时间。
- 别忘了always,无论您使用什么检测机制以及它有多准确,都允许用户在常规的、资源匮乏的版本和更快的、“丑陋”的版本之间进行选择 - 有些人更喜欢更好的外观效果,即使这意味着网站会变慢,而其他更看重速度和敏捷性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)