【发布时间】:2010-01-23 01:04:18
【问题描述】:
所以我最近参与了一次网站重写,我们已经在各个方面都对以前的网站进行了重大改进(不,这并不完美,我们按时完成并且一直在改进 :D),但有一个例外:在 IE6/7 中,它会在页面显示后锁定。我知道这是 JS,因为它被禁用它很快,我知道一些事情,比如我们使用的 simplegallery 插件非常慢,但即使这样并且谷歌广告被删除,它仍然处于爬行状态(+8 秒)。我查看了 Firebug 分析器并进行了大量 JS/CSS 更改,例如:
- 将除我们的 img 错误处理之外的所有 JS 移至页面底部
- 改进所有指定的 jQuery 选择器以获得最佳性能
- 迁移到 jQuery 1.4
- 通过 JS Lint 运行我们的核心自定义 JS (main.js)
- Split 常用图像
- 降低 CSS 选择器的复杂性
这样做对所有浏览器都有好处,我知道我可以做得更多,但我没有看到我需要的 IE6/7 的重大改进。我们确实将 DD_roundies_0.0.2a.js 用于 IE7,但不用于 IE6。我尝试了 DynaTrace,但看不到任何明显的东西,尽管我确实有点迷失了它的深度。
谁能看到我在这里可能遗漏的内容和/或指出一些好的 IE 分析工具?
编辑:我应该提到我已经使用过 YSlow、PageSpeed 和 Chrome 的开发者工具。所有这些都是我过去提到的大部分改进的基础。在这一点上,我并不是说该站点已完全优化,但没关系并且朝着正确的方向前进。但是我在 IE6/7 中有一个问题,我认为是 JS 执行。
编辑 2:我们已经从服务器发送了 IE6 的 Chrome Frame 元标记。这不是一个解决方案,但我认为它对 IE6 利大于弊。在这一点上,我正在关注 JS 特定的反馈,因为我认为我已经涵盖了所有其他基础。
【问题讨论】:
-
你应该只在你的代码验证后才使用 XHTML;目前,您在两个文档中都有 60 多个错误;如果有人真的将其解析为 XHTML 而不是标签汤,他将得到的只是一条错误消息!
标签: javascript jquery performance internet-explorer