Možná jste již slyšeli o různých skrytých „legráckách“ v některých programech, tzv. easter eggs (velikonoční vajíčka). Pověstný je třeba Internet Explorer nebo Excel, kdy se zvláštní kombinací kláves a funkcí spustí třeba hra, která je vtipnou reklamou na tvůrčí tým. A jak si je vytvoříte na vlastním webu?

Naše easter egg zabudujeme do webové stránky tak, aby byla stránka přesměrována (po stisku určené kombinace kláves) na jinou (informující třeba o našich nenapodobitelných schopnostech). :)

V principu jde o to, nastavit na celý dokument obsluhu události onkeypress – v té potom otestujete, zda se jedná o kód easter egg. Ve skriptu musíte také podchytit, že ke kódu stisknuté klávesy se v různých prohlížečích dostanete přes jiný objekt (staré známé speciality NN) a v některých vám vajíčko nebude pracovat vůbec, avšak nesmí způsobovat chyby ve stránce. Výsledkem je následující krátký skript:

<script language="JavaScript"> <!– var hotkey=160; // kód klávesy aktivující easter egg var target="http:// mojestranka.cz"; // adresa stránky vajíčka if (document.layers)   document.captureEvents(Event.KEYPRESS); // je-li toho prohlížeč schopen,
zachytávat stisky kláves

function easteregg(e){   if (document.layers){ // pro prohlížeč podporující objekt document.layers     if (e.which==hotkey) {       window.location=target; // přesměrovat, jde-li o naši  klávesu     }   }   else     if (document.all){ // pro prohlížeč podporující document.all       if (event.keyCode==hotkey) {
        window.location=target; // přesměrovat, jde-li o naši  klávesu       }     } } document.onkeypress=easteregg; // zařadit obsluhu události onkeypress // –> </script>

V našem příkladu je zvolena kombinace pro vajíčko stiskem Alt+0160. Nastavit můžete samozřejmě kód jakékoli klávesy, ovšem je dobré si uvědomit, že může dojít ke kolizi s funkčními klávesami nebo vůbec ke znemožnění napsání určitého znaku (stránka, ve které by uživatel např. vyplňoval formulář, by prostě stiskem naší klávesy zmizela). Proto jsem se rozhodl použít pro přístupový kód zadávání přes numerickou klávesnici pomocí klávesy Alt, vyloženě nutné to ale není.

Také kód je dobré zvolit s rozmyslem, protože přiřazený kód některých kláves se mění při změně jazyka klávesnice, proto by na některých počítačích vajíčko nepracovalo nebo by pracovalo například jen při zvolené české klávesnici. Pro zvolení vhodné klávesy je proto třeba trochu laborovat a není špatným tahem si na dobu testování zakomentovat povel pro přesměrování a do těla funkce vložit výpis kódu stisknuté klávesy – například do stavového řádku prohlížeče (window.status=e.which, resp. window.status=event.keyCode podle prohlížeče). Tak budete při stisku každé klávesy vidět ve stavovém řádku prohlížeče její kód a snadno můžete určit, zda nedochází ke kolizi např. s klávesovými zkratkami systému, nebo zda se kód nemění při změně jazyka klávesnice.

Uvedený skript vložte někam na začátek HTML stránky. Máte-li stránek více, bude asi lepší uložit skript do samostatného souboru .js. Pokud byste chtěli místo přesměrování stávající stránky na jinou otevřít velikonoční vajíčko v novém okně, stačí změnit oba řádky window.location=target na window.open(target). Je samozřejmě možné namísto přesměrování nebo otevření nového okna zařadit mnohem "šílenější" vajíčka – např. žertovné skripty.

Příklad najdete zde.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět