Internet. Dla wszystkich!
Osiolki Polskiego Internetu
Skocz do treści
Skocz do menu

FAQ

Tajemnice Flasha

  1. Prawidłowe umieszczenie Flash na stronie WWW
  2. Menu we Flash = BARDZO zły pomysł!
  3. Konieczność aktywacji Flash w Internet Explorer

Wetknij sobie wtyczkę - jak osadzać

Ze względu na problem spowodowany przez patent Eolas, prosty sposób osadzenia Flash powoduje, że nie reaguje on na mysz/klawiaturę, póki użytkownik w niego nie kliknie. Złożone rozwiązanie, obchodzące problem patentu, wymaga skryptów i jest przez to trochę bardziej zawodne.

Podstawowe zasady

Nie wymagaj najnowszej wersji wtyczki! Nie wszyscy użytkownicy aktualizują wtyczkę - nie wszyscy potrafią, nie wszyscy mają taką możliwość (np. na komputerze w pracy/szkole, który ma zablokowaną możliwość instalacji czegokolwiek). W IE animacje pod nowszą wersję wtyczki wywołują groźnie brzmiący komunikat o instalacji ActiveX, a w innych przeglądarkach mogą spowodować wyświetlenie się białego prostokątu zamiast jakiejkolwiek animacji. Trzymanie się poprzedniej wersji, a nawet dwóch wstecz jest bezpiecznym podejściem (pod koniec 2006 r. - to wersje 7-8).

Przygotuj treść alternatywną! Można na stronie umieścić treść, która jest widoczna tylko wtedy, gdy przeglądarka nie wyświetli animacji. Umieszczanie tam próśb i gróźb o instalacji wtyczki nie jest najlepszym pomysłem - lepiej wstawić pod każdą animacją odpowiadający jej obrazek (i ewentualne odnośniki), żeby strona nadawała się do użytku bez Flash.

Proste rozwiązanie (Iana Hicksona)

Nadaje się do nieinteraktywnych animacji (np. ozdobników).

Przeglądarki powinny zignorować elementy <object>, których nie potrafią wyświetlić, przez co widoczna będzie ich zawartość:

<object>Ten kod zadziała, gdy przeglądarka nie wyświetli obiektu</object>

Dlatego najczęściej używana jest para znaczników <object> i <embed>. Gdy przeglądarka nie rozumie tego pierwszego, to spróbuje drugiego. Elementy embed i noembed są niestandardowym rozwiązaniem starego Netscape, dlatego odradzamy ich użycie.

Internet Explorer potrafi wyświetlić animacje Flash jedynie przy pomocy kontrolki ActiveX, której z kolei inne przeglądarki nie obsługują. Można to wykorzystać następująco:


<object classid="..." codebase="...">
<object data="..." type="...">
<img src="..." alt="..." />
</object>
</object>

Niestety, Internet Explorer stwarza jeszcze jeden problem - nie ignoruje elementów object, których nie rozumie, dlatego trzeba użyć sztuczki, która ukryje przed nim szkodliwy dla niego kod:

<--[if !IE]> <-->Explorer udaje, że to komentarz<!--><![endif]-->

Po połączeniu techniki te dają zgodny ze standardami kod, który działa również w Internet Explorerze:


<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">
<param name="movie" value="flash.swf">
<!--[if !IE]> <-->
<object data="flash.swf" type="application/x-shockwave-flash">
<param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer">
<img src="nieflash.gif" alt="Fajny filmik">
</object>
<!--> <![endif]-->
</object>

Powyższy kod w działaniu.

Jeśli używasz powyższego kodu, nie zapomnij zmienić w nim wszystkich wystąpień ścieżki do filmu i zastępczego obrazka oraz dodaj odpowiednie atrybuty width i height dla tagów object. Jeśli animacja Flash zawiera jakieś odnośniki, umieść je także wewnątrz elementów object, aby przeglądarki i boty ignorujące Flash mogły również poruszać się po stronie.

Polecamy również narzędzie do generowania kodu do osadzania Flasha przy pomocy jednej z dwóch kolejnych technik: BlaTek Satay Appendix lub A List Apart Flash Satay.

Powyższa metoda jest relatywnie prosta i nie wymaga skryptów do działania, ale ma dość poważne mankamenty:

Wykrywanie Flash w odpowiedniej wersji

Alternatywną metodą umieszczania Flasha w sposób zgodny ze standardami (i jednocześnie obchodzącą patent Eolas) jest swfObject. Działa bardzo dobrze w HTML oraz w niezbyt pojętnie wysyłanym XHTML, ale nawali w XHTML w trybie XML.

Skrypt ten pozwala bardzo łatwo zapewnić treść alternatywną dla Flash (wręcz jej wymaga), może wykryć odpowiednią wersję wtyczki i pozwala autorowi umieścić "ratunkowy" odnośnik, który wyłącza wykrywanie, jakby swfObject pomylił się co do obecności Flash.

Menu jest elementem krytycznym strony, ponieważ pozwala na poruszanie się pomiędzy jej działami. Użycie do tego celu Flasha (lub menu opartego w całości o JavaScript) stwarza wiele problemów, które w rezultacie mszczą się na twórcy strony.

Dlaczego?

Menu we Flash można najczęściej zastąpić przez menu napisane w CSS. Bardzo dobrym rozwiązaniem jest Son of Suckerfish Dropdowns.

Jeśli mimo wszystkich wymienionych wad menu we Flash koniecznie musisz je mieć, zrób także alternatywną nawigację dla osób, które nie mogą/nie chcą użyć wersji Flash.

Z powodu niskiej dostępności dla osób upośledzonych będziemy zdecydowanie interweniować (i w przypadku nie poprawienia umieszczać na czarnej liście) w związku z używaniem menu we Flashu na stronach instytucji rządowych, które mają obowiązek mieć strony dostępne dla wszystkich obywateli. Pozostałym webmasterom stron tylko doradzamy, jak uniknąć pułapki niedostępności - dla dobra ich pracodawców/klientów i odwiedzających ich strony.

Konieczność aktywacji Flash w Internet Explorerze i Operze 9

Dziwne zachowanie Flash po aktualizacji IE z 11 kwietnia (lub wersji 9 Opery) jest spowodowane ograniczeniami narzuconymi przez patent firmy Eolas.

Wyjaśnienia i obejście problemu.

Kategoria Webmasterka, ostatnio zmieniony 2006-12-15

Masz pytanie? Zadaj je nam!

Powróć do spisu


Porada:

Pisz do webmastera: Jeśli coś Ci się nie podoba, to powiadom o tym webmastera. Twórca strony często nie zdaje sobie sprawy z problemu, albo uznaje, że nie ma to znaczenia, skoro nikt się nie skarży. Nie zakładaj z góry, że Twój list obrazi webmastera lub zostanie zignorowany. Strony internetowe robi się właśnie dla Ciebie — odwiedzającego. Pomagaj robić je lepszymi.


Przegladarki:

Skocz do menu