Jak zvýšit IQ pop-up okna podruhé
V minulém článku jsem ukázal, jak můžete inteligenci oken využít, dnes se budu věnovat více obecným principům v přístupu k oknům.
Možnosti ovládání okna by byly moc chudé, pokud by existoval jen starý známý focus(). Přidávám proto popis dalších metod a vlastností oken. Řeč bude i o rodičích a potomcích. Nebudou nás zajímat jejich vlastnosti, pouze vzájemný vztah, proto pro názornost poslouží jednoduchý obrázek a příklad.
Odkaz na potomka
Jestliže chci s libovolným objektem (v tomto případě s oknem) pracovat, musím znát referenci (handler, odkaz) na něj. S tímto odkazem pak mohu pracovat. Jak takový odkaz získat? Při prvním otevírání okna je to jednoduché, v JavaScriptu to vypadá takto: hand=window.open("otevirane_okno.htm","nazev_okna");
. Tímto způsobem jsem získal referenci hand na Potomka a mohu se pomocí ní kdekoli ve skriptu Rodiče odkazovat na otevřené okno (Potomka).
|
Parametry funkce windows.open() jsou dostatečně známy a byly mnohokrát popsány i na Intervalu. Snad jen poznámka na okraj: jedním z parametrů je i fullscreen="yes"
. Způsobí otevření okna na celou obrazovku (mód KIOSEK) bez všech ovládacích prvků, nejen celoobrazovkový režim známý po stisku F11. Mnoho (zejména nezkušených) uživatelů by si s nastalou situací nemuselo vědět rady, používejte proto tento parametr obezřetně.
Odkaz na rodiče
A co dělat v případě, že se nacházím v okně Potomek a chci zjistit, kdo je Rodič? Skriptem (opět JavaScript) rodic=window.opener;
umístěným v okně Potomek získáte referenci rodic na okno, ze kterého byl Potomek otevřen – tudíž odkaz na jeho rodiče!
|
Jestliže mám referenci na okno (ať už Rodiče nebo Potomka), mohu provést změnu adresy (url), přepsání url, reload stránky, aktivaci (deaktivaci) okna, zavřít okno a získat jméno okna. Dále je možno okno posunovat, měnit jeho velikost, rolovat obsah.
Získání jména
Jméno je jednoznačný identifikátor okna, většinou jej však nepoužijete. K získání jména slouží vlastnost name. Tento skript umístěný v okně Potomek vypíše jméno aktuálního okna a jméno Rodiče:
|
S největší pravděpodobností je jméno Rodiče prázdný řetězec. Tento fakt není důvod k panice, k manipulaci s oknem slouží handler…
Aktivace, deaktivace okna
Již v minulém článku bylo popisováno použití metody focus. Komplementární funkcí k window.focus() je metoda window.blur() – posunutí okna do pozadí.
|
Reload stránky
Někdy se vyskytne potřeba změnit obsah stránky v libovolném okně. K tomu slouží metoda reload
|
Změna a přepsání URL
Přepsáním URL v zadaném okně způsobí, že je aktuální stránka nahrazena stránkou (adresou) novou a aktuální adresa nebude v historii. Změna URL je prostá změna – původní adresa v historii bude.
|
Postřehy ze zkoušení. Přepisování url adresy se projevuje jinak v Internet Exploreru a jinak v Netscape: zatímco v Internet Exploreru je přepsána pouze poslední adresa, ostatní zůstávají v historii. V případě Netscape je situace jiná. Při přepsání je vymazána celá historie (testováno v prohlížečích Netscape 4.05, Internet Explorer 5.0).
Zavření okna
Nejběžněji používaná metoda. Syntaxe je prostá:
|
Ostatní zmiňované metody
Další metody nejsou používány nijak často, přesto stojí za zmínku.
|
Použité skripty jsou funkční v Internet Explorer 4 a výše a Netscape 3 a výše. Přestože je mnoho z těchto funkcí velmi zajímavých, platí, že méně je někdy více.
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
-
Aukce CZ domén: Jak vydražit expirovanou CZ doménu?
12. června 2024 -
Zabezpečení e-mailů: Jak můžete chránit vaši firemní komunikaci
13. prosince 2023 -
Webdesign: Jak optimalizovat tlačítka na webu
7. března 2024 -
Doména .io v ohrožení: Co přinese předání Čagoských ostrovů?
10. října 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024