我目前正在尝试减少网站的前端加载时间。我遵循了各种步骤,例如延迟加载 javascript、使用 Sprite 、合并和缩小 css/js 文件。我已经看到主要浏览器的页面加载时间大大减少了。但是,我可以看到所有与 android 相关的 native 浏览器都有大约 6-7 秒的 DOM 处理时间,从而将页面加载时间增加到 9 秒,与其他浏览器加载时间(大约 5 秒)相比,这太高了。
我知道上面提供的信息没有代码而且很模糊。任何人都可以指出正确的方向来减少 Android native 浏览器中的 DOM 处理时间吗?
最佳答案
前段时间,我做了很多IE6的优化。我学到的是尽可能具体地使用选择器。假设您有一个巨大的 DOM 树,并尝试使用 jQuery 选择三个类为 find_me
的节点:
...
<div class="find_me">...</div>
<div class="find_me">...</div>
<div class="find_me">...</div>
...
$('.find_me')
全部返回,但浏览器必须检查整个 DOM 树中是否有这个类名。
所以让我们总结一下:
...
<div id="unique_wrapper">
<div class="find_me">...</div>
<div class="find_me">...</div>
<div class="find_me">...</div>
</div>
...
$('#unique_wrapper .find_me')
也会返回它们,但速度要快得多,因为浏览器几乎立即选择了 ID 为 unique_wrapper
的元素,其余的DOM 树被忽略。
与旧的 IE6 相比,我真的不知道 Android 浏览器在多大程度上优化了这种行为。但我敢打赌,如果您优化选择器,您可以稍微加快速度 - 假设您完全使用选择器。
关于javascript - Android 原生浏览器中的 dom 处理时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20606979/