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
-
Co je to VRAM a jak ji navýšit bez drahého upgradu?
20. srpna 2024
Nejnovější
-
Apple jde naproti práci s HDR monitory!
17. ledna 2025 -
Jak využít AI potenciál svého Macu?
9. ledna 2025 -
NIS2: Verifikace údajů vlastníků domén
6. ledna 2025 -
Dostali jste k vánocům PC? Využijte jeho AI potenciál!
3. ledna 2025