Obiekty zupełnie zbugowane w IE

Flash Bug w IE

Osadzanie animacji Flash w IE wymaga długiego i zawiłego kodu, a powinno być tak proste jak umieszczenie zwykłego obrazka.

<object> w IE wymaga identyfikatorów klas ActiveX. Ponadto Explorer nie obsługuje zagnieżdżonych elementów <object>, przez co utrudnione jest osadzanie animacji i wideo tak, aby inne przeglądarki mogły je odczytać i jednocześnie, żeby w Explorerze nie było poważnych skutków ubocznych.

 <object type="application/x-shockwave-flash" data="test.swf">
 nIEstety, kIEpski nIE kuma
 </object>

Obrazki

Normalnie <object> umożliwia też osadzenie obrazków w kilku różnych wersjach i dowolną treścią zastępczą:

 <object type="image/svg+xml" data="obrazek.svgz">
  <object type="image/jp2" data="obrazek.jp2">
   <object type="image/jpeg" data="obrazek.jpg">
    <h1>Zonk</h1><p>Tutaj miał być bardzo fajny obrazek</p>
   </object>
  </object>
 </object>

Niestety w IE taki kod zupełnie nawala. Obrazki dostają nieusuwalne obramowanie i IE próbuje wyświetlić je wszystkie na raz.

Problemy ze skryptami

Manipulacja elementami <object><param> za pomocą DOM może powiesić Explorera. <param> jest czasem niewidoczny w innerHTML.

Problemy przez patent

Osadzanie Flash na stronach WWW jest objęte patentem firmy Eolas.

Rozwiązanie

Istnieje skrypt swfObject, który osadza Flash unikając niedoróbkek przeglądarek oraz naruszania patentu.

Polecamy również opis problemu i różne jego rozwiązania w seriwsie osiolki.net.


Spis bugów


Zmodyfikowano: 16.10.2006, 12:52