tvorba www stránek
tvorba internetových obchodů
programování a vývoj internetových řešení
Kontaktní informace
+420 604 675 156

Hledat na tomto webu

Naše služby

Cenová kalkulace zdarma

Rubriky

Aktuální články

Nejčtenější články

Archiv zápisků

Alternativní formáty

Přeložit stránky

Náš redakční systém používají

Doporučujeme

Jak na spustit APPLET v XHTML ?

Narazil jsem na problém, když jsem zákazníkovi na stránky vkládal malinkatý JAVA APPLET. Při kontrole validity mi validátor nekompromisně oznámil, že nic takového jako APPLET v XHTML neexistuje. Pravda - v XHTML strict je element <applet> zastaralý a nepodporovaný. Jak tedy spustit JAVA APPLET v XHTML, aby kód byl validní ? Zdá se to být jednoduché, většinu zkušenějších z vás napadne řešení - užití elementu <object>. Ano je to opravdu řešení, ale není to tak prosté jak se může zdát.

Zastaralá konstrukce

Následující kód demonstruje klasický kód appletu..

<applet width="500" 
height="300"
code="example.class"
archive="example.jar">
<param name="foo1" value="bar1" />
<param name="foo2" value="bar2" />
<strong>Prohlížeč nepodporuje JAVA</strong>
</applet>

Předpokládané nahrazení elementem OBJECT

Varianta 1:

<object width="500" 
height="300"
classid="java:example.class"
type="application/x-java-applet"
archive="example.jar">
<param name="foo1" value="bar1" />
<param name="foo2" value="bar2" />
<strong>Prohlížeč nepodporuje JAVA</strong>
</object>

Tento kód funguje korektně ve většině dostupných internetových prohlížečů na jádru Gecko a taky v Opeře. Problém nastává, když stránku spustíte v Internet Exploreru. Výsledkem je, že IE applet nejenže nespustí příslušný applet, ale vypíše hlášku, že váš prohlížeč nepodporuje JAVA. Dlouho jsem se s tím mořil a procházel specifikace Microsoftu, nakonec jsem objevil funkční řešení.

Nejdříve je nutné detekovat jestli klientský prohlížeč je Internet Explorer (nejlépe pomocí JAVASCRIPTU a objektu navigator.userAgent), následně je nutné podstrčit Internet Exploreru poněkud odlišný kód:

Varianta 2:

<applet width="500"
height="300"
classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab">
<param name="archive" value="example.jar" />
<param name="code" value="example" />
<param name="foo1" value="bar1" />
<param name="foo2" value="bar2" />
<strong>Prohlížeč nepodporuje JAVA</strong>
</applet>

Tato varianta je plně funkční, validní a nutná opravdu jen v případě Internet Exploreru - ostatní prohlížeče bezproblémů interpretují varantu č.1.

Opět jednoduché, rychlé a hlavně funkční ! Tak jak mám rád :)

Komentáře

Komentovat tento článek