IE предзагрузка изображений ошибка? - PullRequest
0 голосов
/ 14 августа 2010

Хорошо, я вызываю изображения из спрайта для моего слайдера изображений. Что происходит, когда страница загружается, все изображения слайд-шоу отображаются горизонтально, в результате чего она выглядит с ошибками. Решение, которое мы разработали, состояло в том, чтобы установить изображения для предварительной загрузки. Он отлично работает в Firefox, но в IE он выглядит ошибочным. Вот две строчки кода, которые имеют значение (мы поместили спейсер из-за другой ошибки в IE):

    <div id="banner"><div class="slideshow"><!--[if IE]>
    <img  id="ban_images1"   src="images/spacer.gif" width="900px"  height="244" border="0"/>
    <img  id="ban_images2"   src="images/spacer.gif" width="900px"  height="244"  border="0"/>
    <img  id="ban_images3"   src="images/spacer.gif" width="900px"  height="244"  border="0"/>
    <img  id="ban_images4"   src="images/spacer.gif"  width="900px"  height="244" border="0"/>
    <img  id="ban_images5"   src="images/spacer.gif" width="900px"  height="244" border="0"/>
    <img  id="ban_images6"   src="images/spacer.gif" width="900px"  height="244" border="0"/>
    <img  id="ban_images7"   src="images/spacer.gif" width="900px" height="244" border="0"/>
    <img  id="ban_images8"   src="images/spacer.gif" width="900px" height="244"  border="0"/>
    <img  id="ban_images9"   src="images/spacer.gif" width="900px" height="244"  border="0"/>
    <img  id="ban_images10"  src="images/spacer.gif" width="900px"  height="244" border="0"/>
<![endif]-->
<![if !IE]>
    <img  id="ban_images1" />
    <img  id="ban_images2" />
    <img  id="ban_images3" />
    <img  id="ban_images4" />
    <img  id="ban_images5" />
    <img  id="ban_images6" />
    <img  id="ban_images7" />
    <img  id="ban_images8" />
    <img  id="ban_images9" />
    <img  id="ban_images10" />
<![endif]>
    </div>

Ban Изображения просто ссылаются на спрайт, который находится на main.gif.

Для предварительной загрузки я поместил следующий код в конец моего HTML-файла:

<div class="slideshowload"><img src="image/main.gif" /></div>

И следующий код в конце моего CSS-файла:

.slideshowload{display:none;}

Какие-нибудь предложения, чтобы это работало в IE?

спасибо!

1 Ответ

0 голосов
/ 14 августа 2010

Несколько вещей:

  • Если! IE для браузеров, отличных от IE, является избыточным, поскольку только IE понимает условные комментарии, и вы по сути повторяете одно и то же действие дважды с неоправданно разным синтаксисом;
  • Вам необходимо исправить изображения, характерные для IE - width = "900px" не является допустимым свойством (должно быть width = "900", без единиц измерения);
  • Рекомендуется всегда указывать ширину / высоту в изображениях независимо от браузера - в случае предварительной загрузки допустимо использовать width = "1" height = "1" на этапе предварительной загрузки, поскольку размеры изображения в HTML не влияет на саму загрузку
...