Objekt window

window (okno) je vrcholem hierarchie objekt∙, se kter²mi m∙╛e JavaScript pracovat. Cel² objektov² model (krom∞ Date, Math, string) je vlastn∞ seznam podobjekt∙ objektu window. Ka╛d² objekt prohlφ╛eΦe prost∞ mß zaΦφnat textem window. 

Pro zjednodu╣enφ se ale u podobjekt∙ (vlastnostφ) m∙╛e to window vynechßvat. Nap°. zßpisy window.navigator a navigator jsou ekvivalentnφ.

Tento text obsahuje p°ehled vlastnostφ (podobjekt∙) objektu window. Vizte tΘ╛ metody pro prßci s oknem (objektem window).

Objekt window.location

Nebo jenom location. Je to adresa naΦtenΘho dokumentu. (Neple╗te si to s umφst∞nφm okna na plo╣e, to je n∞co ·pln∞ jinΘho.)

NaΦtenφ novΘho dokumentu: 

window.location.href = "http://dusan.pc-slany.cz"; naΦte do okna mojφ domovskou strßnku.

Aktualizace strßnky reload()

location.reload(false); aktualizuje strßnku, pokud byla zm∞n∞na

location.reload(true); natßhne strßnku ze serveru, i kdy╛ se nezm∞nila

location.replace("http://www.seznam.cz"); natßhne strßnku Seznamu, ale neza°adφ ji do historie. 

Zji╣t∞nφ adresy dokumentu (nap°φklad naΦtenφm do prom∞nnΘ adresa) 

adresa = location.href; 

S tou prom∞nnou adresa se dß pak dßl pracovat. Zobrazit p°φklad.

Zji╣t∞nφ fragmentu adresy, nap°φklad jmΘno domΘny: 

domena = location.hostname; 

Pokud by adresa byla t°eba http://www.seznam.cz/cokoliv/, tak by se do prom∞nnΘ vlo╛ila hodnota "www.seznam.cz". 

Z location se dajφ vytßhnout i jinΘ v∞ci. Symbolick² zßpis je:

protocol://hostname:port/pathname?search#hash

Tak╛e t°eba location.protocol bude v∞t╣inou obsahovat hodnotu "http:". 

Objekt window.history

Nebo tΘ╛ jenom history. Historie prohlφ╛enφ strßnek. 

Dovoluje vracet se ke d°φve zobrazen²m strßnkßm. Obsahuje jenom pßr metod, ╛ßdnΘ vlastnosti ke Φtenφ. Kv∙li tomu jsou mo╛nosti tohoto objektu velmi omezenΘ. Pro spolehlivou slo╛it∞j╣φ prßci s historiφ je nutno uklßdat informace do cookies nebo zkusit vlastost referer. Tak te∩ k t∞m metodßm objektu history:

history.back(); naΦte do prohlφ╛eΦe minulou strßnku. Je to to samΘ, jako kdy╛ u╛ivatel klikne na tlaΦφtko Zp∞t v prohlφ╛eΦi.

history.back(3); o t°i strßnky zp∞t. Jako trojφ kliknutφ. Kdy╛ se Φφslo neuvede (minul² p°φklad), je tam jako jedniΦka. 

history.forward(2); o dv∞ strßnky vp°ed. V∞t╣inou je to nepou╛itelnΘ, proto╛e metoda forward je p°φstupnß jedin∞ kdy╛ se p°edtφm zacouvalo. 

history.go(-1); je takΘ zacouvßnφ na minulou strßnku. ╚φslo v argumentu m∙╛e b²t libovolnΘ celΘ Φφslo. Metodou go() se dajφ nahradit back() a forward(). 

NejΦast∞ji se pou╛φvß jednoduchΘ tlaΦφtko, kterΘ simuluje tlaΦφtko Zp∞t z prohlφ╛eΦe. <input type=button onclick="history.back()" value="Zp∞t"> Zobrazit p°φklad

Objekt window.navigator

Slou╛φ ke zji╣╗ovßnφ informacφ o typu a verzi prohlφ╛eΦe. V praxi se tento objekt chovß dosti chaoticky. Zobrazte si p°φklad

JmΘno aplikace prohlφ╛eΦe

navigator.appName

Vracφ hodnotu "Microsoft Internet Explorer", nebo "Netscape" (Netscape Navigator i Mozilla5). Opera se hlßsφ jako to, co se v nφ nastavφ, t°eba jako "Netscape". 

Verze prohlφ╛eΦe

navigator.appVersion

Nap°φklad Internet Explorer 6 vracφ °et∞zec: "4.0 (compatible; MSIE 6.0; Windows 98)". Netscape 4.7 vracφ "4.7 [en] (Win98; I)"

Verze prohlφ╛eΦe jako jedno Φφslo

parseInt(navigator.appVersion)

V praxi je pot°eba zjistit Φasto jenom prvnφ Φφslici oznaΦenφ verze. "Zaokrouhlenφ" se provßnφ p°φkazem parseInt. Pro Internet Explorer 5 a 6 to vracφ Φφslo 4, co╛ v∞t╣inou nevadφ, proto╛e ty verze jsou dob°e kompatibilnφ.

K≤dovΘ jmΘno

navigator.appCodeName

V╣echny prohlφ╛eΦe, pokud vφm, vracejφ °et∞zec "Mozilla".

Podpora Java applet∙

navigator.javaEnabled()

Vracφ true, pokud je v prohlφ╛eΦi nainstalovßna a povolena podpora Javy. (Internet Explorer 3 vracφ v╛dy false.) Nenφ mi jasnΘ pou╛itφ. 

V∞tvenφ podle verze prohlφ╛eΦe

V∞t╣ina autor∙ pou╛φvß window.navigator pro v∞tvenφ programu: kdy╛ je window.navigator Internet Explorer, provede se skript optimalizovan² pro IE, kdy╛ je to Netscape, provede se skript pro Netscape. Zjednodu╣en² p°φklad

if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4)
{sekvence p°φkaz∙ pro Explorer}
else
{p°φkazy pro jinΘ prohlφ╛eΦe};

V praxi doporuΦuji takovΘto v∞tvenφ realizovat jinak, toti╛ zji╣╗ovat existenci jednotliv²ch pot°ebn²ch objekt∙, nejΦast∞ji jde o objekt document.all, kter² je jen v Ineternet Exploreru. Nap°.

if(document.all)
{program pro IE}
else
{program pro ostatnφ prohlφ╛eΦe};

Tφm se p°edejde kolizi skriptu s budoucφmi nebo mΘn∞ b∞╛n²mi prohlφ╛eΦi. A je to krat╣φ zßpis.

Dal╣φ vlastnosti objektu navigator

Internet Explorer od 4. verze p°idal k objektu navigator dal╣φ vlastnosti, kterΘ ale nefungujφ v jin²ch prohlφ╛eΦφch (Netscape). Kv∙li tomu jsou ╣patn∞ pou╛itelnΘ v obecn²ch skriptech.

vlastnost popis podpora
navigator.appMinorVersion podverze prohlφ╛eΦe IE 4
navigator.cookieEnabled povoleno uklßdßnφ cookies IE 4, NN 6
navigator.cpuClass typ procesoru klienta IE 4
navigator.onLine vracφ false, pokud prohlφ╛eΦ pracuje off-line IE 4
navigator.platform operaΦnφ systΘm klienta IE 4, NN 4
navigator.systemLanguage p∙vodnφ jazyk operaΦnφho systΘmu klienta IE 4
navigator.userLanguage nastaven² jazyk operaΦnφho systΘmu IE 4
navigator.browserLanguage jazyk prohlφ╛eΦe IE 5.5

Objekt window.screen

Objekt pro zji╣╗ovßnφ vlasntostφ obrazovky. Je podporovßn od ΦtvrtΘ verze Netscape Navigatoru i Internet Exploreru (vzßcnß shoda).

Velikost plochy

screen.height
screen.width

V²╣ka a ╣φ°ka pracovnφ plochy grafickΘho systΘmu poΦφtaΦe.

Dostupnß velikost plochy

screen.availWidth
screen.availHeight

Prakticky jde o totΘ╛ jako width a height, pouze v²╣ka b²vß pon∞kud men╣φ, pokud je stßle zobrazen hlavnφ panel systΘmu (╣edß li╣ta dole). Ve skriptech doporuΦuji pou╛φvat rad∞ji tyto vlastnosti.

⌐φ°ka a v²╣ka prohlφ╛eΦe a dokumentu jsou dostupnΘ pomocφ jin²ch objekt∙.

Barevnß hloubka

screen.colorDepth

PoΦet bit∙ p°ipadajφcφch na jednu barvu. (SystΘmovΘ nastavenφ obrazovky.)

Objekt frames

Objekt frames umφ pracovat s rßmy. Zatφm to p°eskoΦφm, proto╛e m∞ to nebavφ.

Objekt event

 Asi na to dßm vlastnφ strßnku.

Objekt window.document

Nejd∙le╛it∞j╣φ objekt, kter² popφ╣u zvlß╣╗.

Vlastnosti objektu window (ostatnφ)

Stavovß °ßdka

window.defaultStatus ovlivnφ text ve stavovΘ °ßdce (╣edß oblast vlevo dole, v∞t╣inou je tam "Hotovo")

window.status je skoro totΘ╛, ale vßzßno doΦasn∞ na udßlost

Rßmy a novß okna

window.closed vracφ true, pokud je okno zav°eno (ne╣lape v IE 3)

window.opener vracφ odkaz (ukazatel) na okno, kterΘ jej otev°elo

window.lenght vracφ poΦet rßm∙ v okn∞ nebo rßmu

window.name vracφ jmΘno rßmu nebo okna

window.parent vracφ odkaz na nad°azen² rßm (okno)

window.self vracφ sebe samo (pr² se to n∞kdy hodφ)

window.top vracφ odkaz na hierarchicky nejvy╣╣φ rßm

Vykreslovßnφ

window.offscreenBuffering kdy╛ se nastavφ true, okno se naΦte, p°epoΦφtß a teprve potom zobrazφ. Podpora od obou 4.