所以我最近参与了一次网站重写,我们已经开始接受以前各方面的重大改进(不是不完美,我们按截止日期生活,并且总是在改进:D),但有一个例外:在IE6 / 7中,它会在页面显示后锁定。我知道它是JS,因为它禁用它很快,我知道一些像我们使用的simplegallery插件非常慢,但即使这样,谷歌广告删除它仍然在爬行(+ 8秒)。我查看了Firebug探查器并进行了大量的JS / 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特定的反馈,因为我认为我已经涵盖了所有其他基础。
答案 0 :(得分:1)
你包括来自http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js的jquery,如果你在你的网站上托管它会更快下载。
另外,请查看Firebug的YSlow插件,它会为您提供大量有关如何改善网站加载时间的信息。
答案 1 :(得分:1)
您可以在IE6中手动配置“common.js”脚本。 只需在战略位置获取新的时间戳,并在最后提醒他们。
e.g。
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。
答案 2 :(得分:0)
如果你想强迫用户安装谷歌Chrome浏览器框架,它将使IE使用chrome渲染器和javascript引擎
答案 3 :(得分:0)
目前只有可疑的东西是“omniture.js”。
以下是我发现的关于omniture.js and IE6的博文。
您可以在Chrome上使用SpeedTracer来调试速度问题。当然js速度将根据V8引擎。
答案 4 :(得分:0)
javascript本身通常不是问题,当你修改最终遇到麻烦的DOM时,例如动画,添加和删除元素。不透明度要格外小心。
答案 5 :(得分:0)
查看LABjs & RequireJS: Loading JavaScript Resources the Fun Way,其中讨论了如何并行加载脚本。
直到最新一代 浏览器,标签有一些 真的不利的表现 它的特点。也就是说, 标签“阻止”,意思是他们 呼吁停止其他一切 加载/发生在页面上,而 他们加载并执行时。不 只有他们停止了所有其他部分 在页面上,他们甚至习惯停止了 加载任何其他标签。