Objekt window predstavlja okno oziroma zavihek brskalnika, v katerem se izvaja dokument. V brskalniku je to globalni objekt, zato so številne njegove lastnosti in metode dostopne tudi brez zapisa predpone window.. Prek njega lahko dostopamo do dokumenta, zgodovine brskanja, naslova strani, podatkov o brskalniku, velikosti vidnega dela okna, drsnega položaja in nekaterih pogovornih oken ter časovnikov.

Hierarhija vgrajenih objektov v brskalniku
Pomni: Ker je window globalni objekt brskalnika, lahko pogosto zapišemo samo alert("Pozdrav"); namesto window.alert("Pozdrav");. Oba zapisa sta v brskalniku običajno enakovredna.
Osnovna pravila
- Objekt
windowpredstavlja okno, ki vsebuje dokument DOM. - Lastnost
documentkaže na trenutno naložen dokument. - Lastnosti
location,history,navigatorinscreenomogočajo dostop do pomembnih podatkov o okolju izvajanja. - Lastnosti
innerWidthininnerHeightopisujejo velikost vidnega dela okna. - Metode
setTimeout()insetInterval()omogočajo izvajanje kode po določenem času ali v ponavljajočih se intervalih.
Primerjave
Osnovne lastnosti objekta window
Pri delu z objektom window se v sodobni kodi najpogosteje srečamo z naslednjimi lastnostmi:
| Lastnost | Opis |
|---|---|
document |
vrne dokument, ki je naložen v trenutnem oknu |
location |
opisuje naslov URL trenutnega dokumenta |
history |
omogoča dostop do zgodovine brskanja v istem zavihku |
navigator |
vsebuje podatke o uporabniškem agentu in nekaterih zmožnostih okolja |
screen |
vrne objekt z informacijami o zaslonu |
parent |
vrne nadrejeno okno, če je dokument znotraj <iframe> |
top |
vrne najvišje nadrejeno okno v hierarhiji |
opener |
lahko vrne sklic na okno, ki je odprlo trenutno okno |
frameElement |
vrne element <iframe>, v katerem je vstavljeno trenutno okno, če tak obstaja |
length |
vrne število okvirjev v oknu |
Nekatere lastnosti danes niso več primerne, ker so zastarele, omejeno podprte ali povezane s starejšimi različicami brskalnikov. Med take sodijo na primer defaultStatus, status, documentMode in podobni starejši zapisi.
Velikost okna in pomik dokumenta
Za delo z velikostjo vidnega dela okna in s pomikom dokumenta pogosto uporabljamo naslednje lastnosti:
| Lastnost | Opis |
|---|---|
innerWidth |
vrne notranjo širino vidnega dela okna v pikslih |
innerHeight |
vrne notranjo višino vidnega dela okna v pikslih |
scrollX |
vrne vodoravni pomik dokumenta |
scrollY |
vrne navpični pomik dokumenta |
pageXOffset |
je vzdevek za scrollX |
pageYOffset |
je vzdevek za scrollY |
Lastnosti screenX, screenY, outerWidth in outerHeight opisujejo položaj ali zunanjo velikost okna, vendar se pri učni razlagi pogosto najprej osredotočimo na innerWidth in innerHeight.
Pogovorna okna
Objekt window omogoča uporabo preprostih pogovornih oken. Ta so uporabna za osnovne zglede, pri sodobnih uporabniških vmesnikih pa jih pogosto nadomestijo prilagojena okna v dokumentu.
| Metoda | Opis |
|---|---|
alert() |
prikaže opozorilno pogovorno okno |
confirm() |
prikaže potrditveno okno in vrne true ali false |
prompt() |
prikaže vnosno okno in vrne vneseni niz ali null |
Časovniki in druga dejanja
Za izvajanje kode po določenem času ali v ponavljajočih se presledkih uporabljamo metode časovnikov. Pogosto se uporabljajo skupaj z metodama clearTimeout() in clearInterval(), ki prekličeta prej nastavljeno dejanje.
| Metoda | Opis |
|---|---|
setTimeout() |
izvede funkcijo enkrat po določenem času |
clearTimeout() |
prekliče časovnik, nastavljen z setTimeout() |
setInterval() |
ponavlja izvajanje funkcije v časovnem intervalu |
clearInterval() |
prekliče interval, nastavljen z setInterval() |
print() |
odpre pogovorno okno za tiskanje |
open() |
odpre nov brskalniški kontekst ali obstoječega ponovno uporabi, če je to dovoljeno |
close() |
poskuša zapreti trenutno okno |
focus() |
poskuša aktivirati okno |
blur() |
poskuša okno postaviti v ozadje |
scrollTo() |
premakne pogled dokumenta na določeni položaj |
scrollBy() |
premakne pogled glede na trenutni položaj |
Metode, kot so moveTo(), moveBy(), resizeTo() in resizeBy(), so danes odvisne od omejitev brskalnika in pravil uporabniškega okolja, zato v sodobni razlagi niso več osrednja izbira.
Priporočila
- Pri osnovnem delu z oknom se osredotoči na lastnosti
document,location,history,navigatorinscreen. - Za velikost okna uporabljaj predvsem
innerWidthininnerHeight. - Za pomik dokumenta uporabljaj
scrollX,scrollY,scrollTo()inscrollBy(). - Pogovorna okna uporabljaj predvsem za preproste zglede in ne kot osnovo sodobnega uporabniškega vmesnika.
- Pri časovnikih uporabljaj funkcije kot argument metod
setTimeout()insetInterval(), ne nizov s kodo.
Pomni: Metodi setTimeout() in setInterval() vrneta oznako časovnika, ki jo lahko pozneje uporabimo pri clearTimeout() ali clearInterval().
Pogoste napake
- Vse lastnosti in metode, ki se pojavljajo v starejših seznamih, se obravnavajo kot enako priporočljive, čeprav so nekatere zastarele ali omejeno uporabne.
- Pri časovnikih se kot argument poda niz s kodo namesto funkcije, čeprav je funkcija praviloma preglednejša in primernejša.
- Predpostavi se, da bo
open()vedno odprl novo okno brez omejitev, čeprav je vedenje odvisno od pravil brskalnika in nastavitev uporabnika. - Lastnosti za pomik in velikost okna se zamenjujejo med seboj, na primer
innerWidthzouterWidthaliscrollYzscreenY. - Pogovorna okna
alert(),confirm()inprompt()se uporabljajo kot osrednji gradnik sodobnega uporabniškega vmesnika.