Reklama ve vyskakovacím okně trochu jinak
Mnohé WWW stránky umísťují reklamu v takzvaných Popup oknech – samostatných oknech prohlížeče, která se automaticky otevřou, vstoupíme-li na stránku. Na jednu stranu lze takto jednoduše získat více reklamního prostoru, na druhou stranu mnoho návštěvníků takové chování obtěžuje. V tomto článku se pokusíme o jakýsi kompromis: nevzdat se vyskakovacích oken, ale udělat jejich chování pro návštěvníka „kulturnější“.
Jak takový kompromisní výsledek vypadá? Pokud chvíli počkáte, mělo by se automaticky objevit okno s reklamou na Czechia.com, které za několik okamžiků samo zavře. Po dalších pár vteřinách se bude situace opakovat s druhým vyskakovacícm oknem a s jinou reklamou. Chcete-li celou animaci zopakovat, musíte provést reload této stránky
Otvírání a zavírání oken nezajišťuje nikdo jiný než JavaScript, který je tentokrát poměrně krátký. Můžeme jej celý uvést v rámci jednoho bloku přímo v těle stránky, nebo níže popisované funkce umístit do hlavičky stránky a jejich volání umístit zvlášť, přímo do textu nebo do události onLoad.
Nejprve volání funkce. Reklamu do nového okna můžeme umístit tak, že vytvoříme samostatné HTML stránky s reklamou a nově otevřené okno na ně odkážeme, nebo, což je popsáno v našem příkladu, umístíme HTML kód do okna explicitně pomocí JavaScriptu. Zde je tedy první část kódu, v níž do proměnných text1 a text2 složíme HTML, které se zobrazí v jednotlivých vyskakovacích oknech:
|
Poté pomocí známého časovače setTimeout nastavíme interval (v msec), po němž dojde k otevření oken:
|
Poznámka: v příkladu jsou časy nastaveny tak, aby se okna otvírala postupně, tedy aby v každém okamžiku bylo otevřeno pouze jedno. Skript není ošetřen pro případ, že je otevřeno více oken současně a nemusí v takovém případě pracovat správně.
Otvírání okna zajišťuje funkce windowOpen, která přijímá dva parametry: text, což je HTML kód předávaný do okna, a timeout, což je čas, po němž dojde k uzavření okna. Zde je kód funkce windowOpen:
|
Funkce otevře Popup okno, umístí do něj HTML kód a nastaví časovač pro spuštění funkce windowClose, jež má na starost okna zavření:
|
Ve funkci windowClose je snad jediný „špek“ celého příkladu: pokud bychom použili přímo syntaxi wnd.close(), mohl by skript havarovat v případě, že rychlý návštěvník zavře vyskakovací okno dříve než my, potažmo náš JavaScript. Internet Explorer většinou tuto drobnou chybu ani nezobrazí, Netscape však vypisuje do stavového řádku hlášení o chybě v JavaScriptu, což není pro autora stránky nejlepší vizitka. Proto použijeme operátor typeof, který vrátí řetězec s názvem typu výrazu, uvedeného jako „parametr“ operátoru. Pokud Popup okno stále existuje, existuje i objekt wnd.document (mohli bychom pro test použít i jiný), a typeof vrací řetězec „object“. Pokud již bylo okno zavřeno, wnd.document neexistuje, a typeof vrací „undefined“.
No a to je vše. Jak vidíte, příklad je to opravdu jednoduchý. Takže už jen obvyklých pár (tj. dvě) poznámky na závěr:
- přes všechnu snahu Popup okno zůstává stále Popup oknem, a pokud máte pocit, že vaši návštěvníci jsou alergičtí na tento typ reklamy, asi ani uvedený skript na tom nic nezmění.
- jedna aplikace: elegantní využití uvedené techniky jsem spatřil na kterémsi .COM zábavním webu, který pomocí rychlé série vyskakovacích oken předvedl na úvodní stránce stručnou, elegantně graficky provedenou, „tour“ webem – tedy náhled nejzajímavějších stránek, které se na webu nacházely.
Přeji vám příjemný den.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Umělá inteligence v IT
27. září 2023 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024 -
Užitečné nástroje pro bezpečnost na internetu
17. října 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024