gpt4 book ai didi

javascript - 如何提高我网站的 IE6/7 JS 性能?

转载 作者:行者123 更新时间:2023-11-29 15:06:18 26 4
gpt4 key购买 nike

所以我最近参与了一个网站重写,我们已经上线了,在各个方面都比以前有了很大的改进(不,它并不完美,我们在截止日期前生活并且总是在改进 :D),但有一个异常(exception):在 IE6/7 中,它会在页面显示后锁定。我知道它是 JS,因为它被禁用后速度很快,而且我知道我们使用的 simplegallery 插件等一些东西非常慢,但即使这样并且删除了 Google 广告,它仍然处于爬行状态(+8 秒)。我查看了 Firebug 分析器并进行了大量 JS/CSS 更改,例如:

  • 将除 img 错误处理之外的所有 JS 移至页面底部
  • 改进所有指定的 jQuery 选择器以获得最佳性能
  • 转向 jQuery 1.4
  • 通过 JS Lint 运行我们的核心自定义 JS (main.js)
  • Spriting 常用图片
  • 降低 CSS 选择器的复杂性

这样做对所有浏览器都有好处,我知道我可以做得更多,但我没有看到我需要的 IE6/7 有重大改进。我们确实为 IE7 使用 DD_roundies_0.0.2a.js 但不为 IE6 使用。我尝试了 DynaTrace,但看不到任何明显的东西,尽管我确实有点迷失了它的深度。

A sample listing page

A sample search page

谁能看出我在这里可能遗漏了什么和/或指出一些好的 IE 分析工具?

编辑:我应该提到我已经使用过 YSlow、PageSpeed 和 Chrome 的开发者工具。所有这些都是我用来进行上述大部分改进的基础。在这一点上,我并不是说该网站已完全优化,但它没问题并且正在朝着正确的方向发展。但是我在 IE6/7 中遇到问题,我认为这是 JS 执行问题。

编辑 2:我们已经从服务器发送了 IE6 的 Chrome Frame 元标记。这不是解决方案,但我认为它对 IE6 利大于弊。在这一点上,我正在寻求 JS 特定反馈,因为我认为我已经涵盖了所有其他基础。

最佳答案

您可以在 IE6 中手动分析您的“common.js”脚本。只需在战略位置获取新的时间戳,并在最后提醒他们。

例如

function ts() { return (new Date).getTime(); }
var t0 = ts();
// some of your code
var t1 = ts();
// rest of your code
var t2 = t();
alert(t1-t0); // milliseconds between t0 and t1
alert(t2-t0); // ms between t0 and t2

也许脚本的一部分比其余部分慢得多。
或者也许它只是 IE6。

关于javascript - 如何提高我网站的 IE6/7 JS 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com