Przy tworzeniu stron internetowych, ważną rzeczą jest aby tworzona witryna była tak skonstruowana, aby każdy użytkownik wchodzący na nią mógł skorzystać z zawartych tam informacji.
Jeżeli nasza strona doskonale prezentuje się na ekranie naszego komputera – nie oznacza to wcale, że tak samo będzie wyglądać u innych użytkowników; wynikać to może z następujących różnic, a mianowicie: konfiguracji sprzętu, systemu operacyjnego, uzywanej przeglądarki, a w przypadku flasha, od obecności bądź braku odpowiedniego Plugina.
Jedno jest pewne: Film Flasha widziany jest jednakowo we wszystkich systemach operacyjnych i różnych przeglądarkach pod jednym warunkiem – w systemie mamy zainstalowaną odpowiednią wersję nieszczęsnego Plug-in’a.
Pierwszym krokiem , który wykonamy będzie zatem sprawdzenie obecności i wersji plug-ina Flasha. Aby to osiagnąć posłuzumy się językiem JavaScript, obecnie akceptowanym przez wszystkie przeglądarki. Kod który będzie sprawdzał czy jest zainstalowany odpowiedni Plug-in wygląda następująco:
navigator.mimeTypes[„application/x-shockwave-flash”] |
Jeżeli powyższa instrukcja zwróci nam wartosć TRUE będziemy wiedzieć, że Plugin jest zainstalowany, w przeciwnym wypadku zwróconą wartością będzie FALSE.
if (parseInt(plugin.description.substring (plugin.description.indexOf(„.”)-1))>=5) |
Powyższy fragment kodu sprawdza nam natomiast wersję Flasha (czy jest ona wyższa lub równa 5).
Zastosujmy więc powyzsze linie kodu na naszej stronie HTML:
var Flash = 0; if (navigator.mimeTypes && navigator.mimeTypes[„application/x-shockwave-flash”]) { if (parseInt(plugin.description.substring (plugin.description.indexOf(„.”)-1))>=5) Flash = 1; } |
Skrypt który właśnie napisaliśmy kontroluje najpierw czy plugin jest obecny w systemie, a następnie sprawdza jego wersję. Jeżeli wersja jest wyższa lub równa 5 zmienna Flash przybiera wartość równą jeden. Póżniej wyjaśnimy co zrobić z wartością tej zmiennej.
Ważną rzeczą jest to abyśmy mieli również świadomość jakiej przeglądarki używa osoba oglądająca naszą stronę. W przypadku IE w momencie kiedy chcemy wczytać objekt Flasha zawarty między znacznikami OBJECT jeżeli brak jest odpowiedniego plugina zostanie on automatycznie załadowany ze strony producenta. Tak więc w tym przypadku nie musimy właściwie przejmować się całą sprawą…
W przypadku Netscape’a po tym jak sprawdzimy obecność plugina lub jego brak możemy wybrać kilka opcji:
1) Zamiast filmu Flasha wstawić obrazek
W tym celu jak zwkle wstawiamy cod OBJECT, natomiast w miejscu tagów EMBED wstawiamy kod:
<OBJECT classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ codebase=”http://download.macromedia.com/pub/ shockwave/cabs/flash/swflash.cab#version=5,0,0,0″ WIDTH=550 HEIGHT=400> <PARAM NAME=movie VALUE=”film.swf”> <PARAM NAME=quality VALUE=high> <SCRIPT LANGUAGE=”JavaScript”> if (Flash) { |
Za pomocą tego skryptu kontrolujemy obecność plugina, rezultat zostaje przekazany za pomocą zmiennej Flash. Jeżeli wartość Flash wynosi 1 (plugin jest OK.) i zostanie wyświetlony film, w przeciwnym wypadku w miejscu gdzie miał być movieclip zostanie wyswietlony obrazek. Skrypt ten możemy oczywiście dostosować do swoich potrzeb wyswietlając zamiast obrazka dowolny tekst, informujący np. o tym, iż uzytkownik nie ma zainstalowanego odpowiedniego plugina.
2) Otworzyć nową stronę, która nie zawiera elementów wykonanych we Flashu.
W tym wypadku musimy stworzyć dwie odrębne strony. Jeżeli użytkownik posiada Plugin – zostanie automatycznie załadowana wersja Flash, jeżeli natomiast nie zostanie przekierowany do wersji HTML.
<SCRIPT LANGUAGE=”JavaScript”> var Flash = 0; if (navigator.mimeTypes && navigator.mimeTypes[„application/x-shockwave-flash”] ) { if (plugin && parseInt(plugin.description.substring (plugin.description.indexOf(„.”)-1))>=5) Flash = 1; } else if (navigator.appName && navigator.appName.indexOf(„Microsoft”) != -1 && navigator.userAgent.indexOf(„Windows”) != -1 && navigator.userAgent.indexOf(„Windows 3.1”) == -1) { Flash = 1; } if (Flash) { |
W powyższym skrypcie sprawdzamy również czy uzytkownik ma wersję windowsa wyższą niż 3.1, gdyż nie rozpoznaje on znaczników <OBJECT> Po wszystkich kontrolach stosujemy przekierowanie do żądanej strony za pomocą instrukcji: window.location.