我正在使用fancybox v.1.3.4在
this page上的iframe中显示视频.fancybox和视频显示正常,但问题是,自添加代码后,我在加载网站时遇到了很大的停顿在IE7 / 8中,类似于
this issue – 页面加载,然后UI冻结4-5秒,阻止我点击链接,滚动或其他任何东西.这是我在页面顶部链接的< head>.包含jQuery UI包(包括UI 1.8.11,UI小部件,UI鼠标,UI位置和UI效果,带有比例)主要用于启用尚未加载到网站上的其他效果,但将会是.
<script type="text/javascript" src="/lib/jquery/jquery-latest.min.js"></script> <script type="text/javascript" src="/lib/jquery/jquery-ui.custom.min.js"></script> <script type="text/javascript" src="/lib/fancybox/jquery.fancybox-1.3.4.pack.js"></script> <link rel="stylesheet" href="/lib/fancybox/jquery.fancybox-1.3.4.css" />
我在页面上使用了YSlow,建议将脚本调用移到底部,但这并没有解决IE中的暂停问题.然后我在使用IE8的开发人员工具加载期间查看了HTML DOM,并且在加载fancybox的代码时似乎发生了暂停;在暂停后立即,以下div显示在树的底部:
<div id="fancybox-tmp"/> <div id="fancybox-loading" (jQuery attribute here)> ... </div> <div id="fancybox-overlay"/> <div class="fancybox-ie" id="fancybox-wrap"> ... </div>
这个,以及在我将fancybox添加到页面后出现问题的事实,这就是为什么我认为这是fancybox的性能问题,但到目前为止我没有尝试过(没有关闭fancybox代码)似乎有产生了影响.我尝试过的最新事情是删除对jQuery.ready()的引用,如果它可能帮助它更早地加载fancybox代码并因此改变暂停的时间,但它没有做太多好处.不是我真的期望它,但我对jQuery和fancybox有点新鲜,此时我正在抓住稻草.
我现在想的是,它可能是fancybox与页面上其他脚本之一的冲突,例如Google Analytics,但我不确定如何判断是否是这种情况,或者如果要做最终成为它.那些了解这些脚本的人的想法是什么?提前致谢.