P°φkaz window.open()
window.open("http://dusan.pc-slany.cz/internet",
"ram1", "width=400,height=500")
otev°e zadanou strßnku v novΘm okn∞, kterΘ nebude mφt ╛ßdnΘ li╣ty nebo panely, p°iΦem╛ bude mφt velikost 400 x 500 a nep∙jde roztßhnout.
window.open("URL", "jmeno_ramu", "volba=hodnota,volba2=hodnota2")
P°i zßpisu pozor na uvozovky -- jsou tam pot°eba (mohou se nahradit apostrofy). URL se zadßvß normßln∞ http://... nebo relativnφ. JmΘno rßmu se dß pozd∞ji pou╛φt pro zacφlenφ p°φpadn²ch odkaz∙ pomocφ target.
Volby jsou nepovinnΘ. Odd∞lujφ se Φßrkou bez mezery (!) a t²kajφ se v∞t╣inou zobrazenφ r∙zn²ch Φßstφ okna:
Volba | V²znam | Hodnoty |
---|---|---|
toolbar | panel nßstroj∙ (zp∞t, vp°ed...) | yes | no |
location | vstupnφ pole adresy | yes | no |
directories | divn² panel odkaz∙ | yes | no |
status | stavov² °ßdek (dole) | yes | no |
menubar | nabφdka (soubor, ·pravy...) | yes | no |
scrollbars | rolovacφ li╣ty (umo╛≥ujφcφ posun) | yes | no |
resizable | mo╛nost zm∞ny velikosti okna | yes | no |
width | ╣φ°ka okna v pixelech | pixely |
height | dΘlka okna v pixelech | pixely |
left | vzdßlenost levΘho okraje od okraje obrazovky | pixely |
top | vzdßlenost hornφho okraje od vr╣ku obrazovky | pixely |
Namφsto yes | no lze zadßvat hodnoty 1 | 0. Pokud se uvede volba bez hodnoty, chßpe se jako yes, pokud se volba neobjevφ, chßpe se jako no.
Z toho vypl²vajφ i hodnoty voleb, pokud nejsou uvedeny. V╣echny volby jsou rovny yes, pokud se volby v∙bec nezadßvajφ (tzn p°φkaz nemß t°etφ parametr). Pokud se ale volby zadßvajφ (t°eba i °et∞zcem ""), v╣echny neuvedenΘ jsou rovny no.
P°φklad: window.open("http://www.redbox.cz", "redbox_ram", "location=yes,status=no,width=600,height=500,resizable")
otev°e novΘ okno 600 x 500 s Redboxem, bude vid∞t adresa, nebude zobrazena stavovß li╣ta a okno bude roz╣i°itelnΘ. Po obsahu ale nep∙jde rolovat, proto╛e nenφ uvedena volba scrollbars.
Neuvedou-li se rozm∞ry okna, velikost je stejnß jako u nov²ch oken (otev°en²ch p°φkazem Otev°φt v novΘm okn∞).
window.open("http://seznam.cz") zobrazφ Seznam v novΘm okn∞, kterΘ bude ·pln∞ normßlnφm oknem prohlφ╛eΦe (proto╛e volby nejsou v∙bec vypisovanΘ, a tak jsou chßpßny jako yes).
Pokud se pou╛ije zßpis nove_okno = window.open(...)
, dß se
potom s oknem manipulovat s pou╛itφm prom∞nnΘ nove_okno (to jen pro vysp∞lΘ
skriptovaΦe).
Osobn∞ mßm p°φkaz window.open nerad, ale chßpu, ╛e jej n∞kte°φ auto°i pot°ebujφ. NejΦast∞ji se otev°enφ novΘho okna vß╛e k n∞jakΘmu odkazu <a> a udßlosti kliknutφ onclick.
<a href="stranka.html" onclick="window.open('stranka.html');
return false">
Odkaz normßln∞ mφ°φ na strßnku stranka.html, ale p°i kliknutφ se
stranka.html otev°e v novΘm malΘm okn∞. Proto╛e by se normßln∞ strßnka
naΦetla i do aktußlnφho okna (co╛ dejme tomu nechceme, proΦ ji toti╛
zobrazovat dvakrßt?), je t°eba k onclick
doplnit o return
false
, co╛ zp∙sobφ, ╛e se vlastnφ odkaz nespustφ (jako bychom
nakonec °ekli: kliknuto = nebylo).
Dost Φasto se otevφrßnφ novΘho okna pou╛φvß na n∞jakou strßnku s dopl≥ujφcφmi udßlostmi nebo pro zobrazenφ reklamy. Tam se samoz°ejm∞ nemusφ dßvat return false.
P°φkaz otev°enφ novΘho okna m∙╛eme navßzat na libovolnou udßlost libovolnΘho prvku, v praxi je ale t°eba pou╛φvat udßlosti jenom u odkaz∙ (odesφlacφch tlaΦφtek a n∞kolika mßlo dal╣φch element∙), proto╛e star╣φ prohlφ╛eΦe (t°eba Netscape 4) u jin²ch element∙ neumφ udßlosti spou╣t∞t.
Proto se Φast∞ji otevφrßnφ novΘho okna zapisuje jako skript p°φmo do proudu dokumentu
<script>
>
window.open(...);
</script
nebo se vß╛e na udßlost onload prvku body (naΦtenφ dokumentu):
<body onload="window.open(...)">
P°φklad s metodou window.open vizte nap°. u metod focus() a blur()