javascript - Android 原生浏览器中的 dom 处理时间太长

标签 javascript android dom

我目前正在尝试减少网站的前端加载时间。我遵循了各种步骤,例如延迟加载 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/

相关文章:

javascript - 在javascript中转义双引号

javascript - Jquery - 将数据传递给内联函数

android - C2DM 不总是注册

python - 获取 XML 文档的 DOM 树

javascript - jQuery DataTables - 删除标签

javascript - 更新 d3 中的图表

android - 使用 onResume() 重新渲染 View

android - 在我的整个应用程序中检查互联网连接

dom - 将流与 document.querySelector 一起使用

java - 在java中解析XML文件的元数据属性