Fancybox вызывает медленное время загрузки в IE? - PullRequest
3 голосов
/ 18 мая 2011

Я использую Fancybox v.1.3.4 для отображения видео в iframe на этой странице .Fancybox и видео отображаются нормально, но проблема в том, что после добавления кода я получаю огромную паузу при загрузке сайта в IE7 / 8, аналогично этой проблеме - загрузка страницыи затем пользовательский интерфейс останавливается на добрые 4-5 секунд, не давая мне нажимать на ссылки, прокручивать или что-либо еще.Вот что я указал в верхней части страницы, в <head>.Пакет jQuery UI (включая UI 1.8.11, UI Widget, UI Mouse, UI Position и UI Effects w / Scale) включен в основном для включения других эффектов, которые еще не загружены на сайт, но будут.

<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.Затем я взглянул на HTML DOM во время загрузки с помощью инструментов разработчика IE8, и кажется, что пауза возникает во время загрузки кода для Fancybox;сразу после паузы в нижней части дерева появляются следующие элементы:

<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, но я не совсем уверен, как определить, так ли это, или что делать, если это в конечном итоге произойдет.Есть идеи от людей, которые разбираются в этих сценариях?Заранее спасибо.

Ответы [ 3 ]

6 голосов
/ 19 мая 2011

У меня раньше была похожая проблема с fancybox и IE.Если вы заглянете в файл CSS, есть тонна специфических фильтров IE:

/* IE6 */

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

/* and so on */

В моем проекте я удалил все эти специфические правила IE, и проблема с зависанием исчезла.Посмотрите, разрешит ли это это;иначе проблема может быть где-то еще.

0 голосов
/ 11 октября 2011

У меня также была эта проблема с Fancybox в IE.Для меня это была ошибка в jQuery, представленная в v1.6.0.Обновление до последней версии jQuery (1.6.4) устранило проблему.

Подробнее в группе Google Fancybox

0 голосов
/ 19 мая 2011

Вы можете использовать Firebug для профилирования вашего кода

...