Magie otevírání oken
Problematiku bezpečného otevření nových oken jsem probral v
příspěvku
Odkazy — atribut onclick a přístupnost stránek. Nyní se podíváme
trochu detailnějí na samotnou metodu open objektu Window
a probereme si jednotlivé argumenty a inicializační parametry nového okna.
Popis metody open
Tato metoda volana na objektu Window nebo jeho kontextu
způsobí otevření nového okna nebo načtení nového dokumentu do okna již
otevřeného.
Signatura metody
window.open(String url,String název_okna,String inicializační_parametry,boolean historie)
Nyní se podrobněji podíváme na jednotlivé argumenty(názvy argumentu jsem lokalizoval do češtiny a je uveden jejich datový typ).
url
Argumet, který určuje URL nově otevřeného okna. Pokud je vynechán nebo
obsahuje prázdný řetězec, okno se otevře prázdné.
název_okna
Pod tímto symbolickým jménem je odkaz na nově otevřené okno. Přes tento
název je okno zpřístupněno pro další manipulaci ze skriptu nebo jako hodnota
atributu target elementů a a form
jak bude vysvětleno později.
inicializační_parametry
Inicializační parametry okna umožňují otevření s předem
specifikovanými vlastnostmi(prvky)
např. výšce,šířce, s vertikálními posuvníky apod. Pokud je tento argument vynechán je okno otevřeno se všemi standardními prvky a naopak
pokud otevřeme okno s tímto parametrem a uvedeme alespoň jeden ini. prvek je okno otevřeno pouze s tímto prvkem. Prvek by měl podle
specifikace nabývat hodnot yes a no avšak funkční se jeví i zápis s hodnotou 1 a 0,
jednotlivé prvky se oddělují znakem čárka.
histroie
Pokud je otevřeno okno s tímto argumentem nastaveným na hodnotu
true není v historii okna lépe řečeno objektu
History zaveden nový záznam.
S nově otevřeným oknem můžeme nakládat různě, pokud ho otevřeme
bez dokumentu tj. nepoužijeme argument url nebo s prázdným řetězcem
můžeme hodnotou argumentu název_okna plnit atribut
target elementů a, což povede k provedení akce formuláře
nebo odkazu do tohoto okna.
Seznam inicializačních parametrů
channelMode
Určuje zda se má okno zobrazit v kanálovém režimu(IE 6.0)
dependent
Jestliže je roven hodnotě yes nebo 1 pak okno má být závislým potomkem aktuálního okna. To znamená,
že například při minimalizaci rodičovského okna je minimalizováno i okno dceřiné.
(Gecko-Mozilla 1.0,Opera 7.0)
directories
Adresářová tlačítka jako "Whats New" a "Whats cool" (IE 6.0)
fullscreen
Otevře okno v režimu celé obrazovky (IE 6.0)
height
Určuje v pixelech výšku zobrazené části dokumentu v tomto okně
innerHeight
Určuje v pixelech výšku zobrazené části dokumentu v tomto okně(Gecko-Mozilla 1.0)
innerWidth
Určuje v pixelech šířku zobrazené části dokumentu v tomto okně(Gecko-Mozilla 1.0)
left
Určuje v pixelech x-ovou souřadnici okna(Opera vztahuje k pozici záložky)
location
Zobrazí vstupní pole pro zadání URL tzv. address bar
menubar
Řádek nabídek jako např. Soubor,Úpravy,Zobrazit .... (Gecko-Mozilla 1.0,IE 6.0)
outerHeight
Určuje v pixelech celkovou výšku okna (Gecko-Mozilla 1.0)
outerWidth
Určuje v pixelech celkovou šířku okna(Gecko-Mozilla 1.0)
resizable (Gecko-Mozilla 1.0,IE 6.0)
Pokud tento prvek není zadán nebo je roven hodnotě no,
nebude mít okno na svém okraji úchyty pro změnu velikosti.
(Uživatel může mít možnost změnit velikost tohoto okna a to v závislosti na konkrétní platformě)
screenX
Určuje v pixelech x-ovou souřadnici okna(Gecko-Mozilla 1.0)
screenY
Určuje v pixelech y-ovou souřadnici okna(Gecko-Mozilla 1.0)
scrollbars(IE 6.0)
Horizontální(vertikální posuvník) okna
status
Zapíná zobrazení stavového řádku prohlížeče tzv. status bar (IE 6.0,Gecko-Mozilla 1.0)
toolbar
Panel nástrojů prohlížeče(tlačítka zpět a vpřed) (IE 6.0,Gecko-Mozilla 1.0)
top
Určuje v pixelech y-ovou souřadnici okna(Opera vztahuje k pozici záložky)
width
Určuje v pixelech šířku zobrazené části dokumentu v tomto okně
Závorka udává funkčnost. Bylo testováno na prohlížečích Internet Explorer 6.0 SP1,Mozilla 1.0 a Opera 7.0.
Pokud není výčet uveden je funkčnost ve všech výše uvedených prohlížečích, dale je pravděpodobné, že prohlížeče
založené na jádru Gecko(Phoenix,Firebird,Netscape 6.0,Netscape 7.0), se budou chovat stejně jako Mozilla
Související články
Související epizody CZ Podcastu
- #217 · Ivo Lukačovič
O Windy, JavaScriptu a budování firem.
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.