Fancybox导致IE加载时间变慢?

我正在使用Fancybox v.1.3.4在此页面上的iframe中显示video。 Fancybox和video显示正常,但问题是,自添加代码以来,我在IE7 / 8中加载网站时遇到了一个巨大的停顿,类似于此问题 – 页面加载,然后UI冻结好的4-5秒,阻止我点击链接,滚动或其他任何东西。 这是我在页面顶部链接到 。 包含jQuery UI包(包括UI 1.8.11,UI小部件,UI鼠标,UI位置和UI效果,带有比例)主要用于启用尚未加载到网站上的其他效果,但将会是。

     

我在页面上使用了YSlow,建议将脚本调用移到底部,但这并没有解决IE中的暂停问题。 然后我在使用IE8的开发人员工具加载期间查看了HTML DOM,并且在加载Fancybox的代码时似乎发生了暂停; 在暂停后立即,以下div显示在树的底部:

 
...
...

这个,以及在我将fancybox添加到页面后出现问题的事实,这就是为什么我认为这是Fancybox的性能问题,但到目前为止我没有尝试过(没有关闭fancybox代码)似乎有产生了影响。 我尝试过的最新事情是删除对jQuery.ready()的引用,如果它可能帮助它更早地加载fancybox代码并因此改变暂停的时间,但它没有做太多好处。 不是我真的期望它,但我对jQuery和Fancybox有点新鲜,此时我正在抓住稻草。

我现在想的是,它可能是Fancybox与页面上其他脚本之一的冲突,例如Google Analytics,但我不确定如何判断是否是这种情况,或者如果要做最终成为它。 那些了解这些脚本的人的想法是什么? 提前致谢。

我之前遇到过类似fancybox和IE的类似问题。 如果你查看CSS文件,有一吨IE特定的filter:

 /* IE6 */ .fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='fancybox/fancy_close.png', sizingMethod='scale'); } /* and so on */ 

在我的项目中,我删除了所有这些IE特定规则,冻结问题消失了。 看看是否能解决它; 否则问题可能在其他地方。

您可以使用firebug来分析您的代码

我在IE中也遇到了Fancybox这个问题。 对我来说,这是v1.6.0中引入的jQuery中的一个错误。 升级到最新的jQuery版本(1.6.4)解决了这个问题。

Fancybox谷歌小组的更多细节