ISMAP je zastaralý atribut tagu <img>. Dovoluje zjistit souřadnice kurzoru myši v rámci obrázku. Obrázek musí být uvnitř odkazu. Po kliknutí se souřadnice oddělené čárkou přidávají do URL za otazník. Tímto pokračuji v seriálu o HTML vykopávkách.
Příklad ismap:
<a href="#"><img src="../weblog/images/ecko.jpg" width="342" height="229" alt="kocour" ismap></a>
Výsledek vidíte níže. Zkuste si obrázek přejíždět myší (pokud ji máte) -- ve
stavovém řádku byste měli vidět měnící se souřadnice. Můžete si i kliknout
(nebojte, href="#"
způsobí, že zůstanete na této stránce). Po
kliknutí uvidíte souřadnice i v URL adrese.
Atribut ismap je označený jako obsolete (po peripetiích s překladem z minulého dílu zůstávám raději u anglického označení), takže by se neměl používat. Zůstal ale v prohlížečích podporován a stále funguje. Zadává se bez hodnoty, prostě ismap. Jsou dva případy, kdy se dá atributu ismap využít:
1) Hodně lidí používá na tvorbu klikacích map (na straně klienta) nějaký
editor map. Já často tvořím klikací mapy v
HTML ručně a právě na to se mi ismap hodí. Hodím si do obrázku ismap, obalím
si obrázek odkazem, vynuluju okraje, přidám si kurzor křížku (style="cursor:
crosshair"
) a ve stavovém řádku pohodlně odečítám souřadnice (příklad
použití ismap). Při publikování na web atribut ismap zase umažu, protože tam
už pak není potřeba. Jde tedy o pomůcku při tvorbě.
Podobný fígl mi pomáhá při analýze grafických návrhů a cizích stránek. Plácnu si nad stránku absolutně pozicovaný průhledný gif roztažený na sto procent a vidím hned souřadnici každého prvku. Šlo by to přepsat i do bookmarkletu, ale na to jsem moc líný.
2) Bylo nebylo. V dávných dobách HTML, kdy ještě neexistovaly klientské mapy a skoro ani formuláře, se CGI skriptům pomocí atributu ismap předávaly souřadnice kliknutí. Tehdy to byla príma vychytávka a "mapy na straně serveru" byly hitem. Uvědomte si, že ještě nebyly tabulky -- klikací mapa byl téměř jediný způsob, jak mít stránku "cool". Kliknutím se souřadnice předaly přes URL, CGI skript na serveru si to vyhodnotil a zpátky poslal určitou stránku. Velká magie. Dnes je to až na výjimky k ničemu, protože se to dá udělat mnohem šetrněji pomocí map na straně klienta (tagy <map> a <area>, zmíněno výše).
Existují ale některé řídké případy, kdy se vyplatí mít mapu spíše na straně serveru než na straně klienta. Zejména pokud má mít mapa příliš mnoho aktivních oblastí. V takovém případě je šetrné naopak použití atributu ismap, protože přitom vyhodnocovací logika zůstává na serveru. Byla tak například donedávna řešena mapa leteckých snímků kladenského okresu (ale okresy se zrušily a doména oku-kl.cz už nefunguje, škoda). Tam se to přesně hodilo. Aktivních oblastí bylo víc než sto, byly pravoúhlé (takže snadno vyhodnotitelné) a přenášet jejich definici v html by bylo náročné.
I v případě, že se tedy hodí spíše serverová mapa, se dá nestandardní
atribut ismap nahradit. Je ale třeba obrázek vložit jako obrázkové
odesílací políčko formuláře, přesněji tedy jako <input type="image">
.
Takový obrázek při kliknutí odesílá formulář na adresu definovanou v action a za
otazník přidává souřadnice kliknutí. (Příklad uveden dole
v příkladu již zmíněném výše.)
Atribut ismap je přes svou zastaralost podporován v prohlížečích Explorer 6, Opera 7 i Mozilla. Při opakovaném klikání se ale chová nevyzpytatelně, což patrně souvisí s tím, že už prostě podporován být nemusí.
Publikováno 5. září 2004
Článek je původně z weblogu
Jak psát web píše Yuhů, Dušan Janovský. Kontakt.