Načrtovanje in razvoj spletnih aplikacij

Objekti brskalnika: Window

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

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 window predstavlja okno, ki vsebuje dokument DOM.
  • Lastnost document kaže na trenutno naložen dokument.
  • Lastnosti location, history, navigator in screen omogočajo dostop do pomembnih podatkov o okolju izvajanja.
  • Lastnosti innerWidth in innerHeight opisujejo velikost vidnega dela okna.
  • Metode setTimeout() in setInterval() 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, navigator in screen.
  • Za velikost okna uporabljaj predvsem innerWidth in innerHeight.
  • Za pomik dokumenta uporabljaj scrollX, scrollY, scrollTo() in scrollBy().
  • Pogovorna okna uporabljaj predvsem za preproste zglede in ne kot osnovo sodobnega uporabniškega vmesnika.
  • Pri časovnikih uporabljaj funkcije kot argument metod setTimeout() in setInterval(), 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 innerWidth z outerWidth ali scrollY z screenY.
  • Pogovorna okna alert(), confirm() in prompt() se uporabljajo kot osrednji gradnik sodobnega uporabniškega vmesnika.