Window-objektin käyttäminen JavaScriptissä

Window on objekti, joka vastaa Web-sivun näyttävää ikkunaa. Tällainen ikkuna voidaan luoda dynaamisesti.
Objekti ei ole JavaScript-objekti, eikä sitä ole määritelty W3C:n DOM-määrittelyssä. Se on de facto standardi.

Rajapintaikkunan attribuutit ja metodit tunnistavat Internet Explorer 4, Firefox 1, Opera 9 ja uudemmat versiot sekä Safari. Tämä dokumentti perustuu siihen, mitä selaimet tukevat virallisen standardin puuttuessa, ks. viitteet.

Nykyiseen ikkunaan viitataan avainsanalla window ja dynaamisesti luotuihin ikkunoihin open-metodin paluuarvon osoittamalle objektille annetulla nimellä.

Ikkunan attribuuttien ja sisäisten objektien määrittely ja testaus

Attribuuttien ja sisäisten objektien määrittelyt

Nämä attribuutit voidaan lukea vain joillekin, niiden arvo voidaan antaa muuten.

kehykset Ikkunassa olevat kehykset. Vain luettavissa. length Kehysten lukumäärä. Vain luku. name Ikkunan nimi. status Tilapalkin teksti
Firefoxissa tekstin muokkaaminen on mahdollista. Mene kohtaan Asetukset, Sisältö, JavaScript ja napsauta Lisäasetukset-painiketta. Rastita sitten ruutu kohdan ”Tilapalkin tekstin muuttaminen” vieressä. defaultStatus Tilapalkin oletusteksti. closed Tila suljettu tai ei. opener Viite ikkunaan, joka avasi tämän ikkunan. Esimerkki:

x = window.opener;

parent Ikkunan vanhempi ikkuna. Esimerkki:

x = mywin.parent;

top Ylimmän tason vanhempi.

Objektit ikkunassa

Näillä objekteilla on omat attribuuttinsa ja metodinsa, joita ei esitellä tässä yksityiskohtaisesti, vaan niille on oma sivunsa.

document Viittaa sivuun, joka sisältyy ikkunaan. Document. history Luettelo aiemmin samassa ikkunassa tarkastelluista sivuista. History. location Tarkoittaa ikkunan sisältävän sivun URL-osoitetta. Location. screen Näyttö ja sen ominaisuudet: width, height, availWidth, availHeight, colorDepth.

Katso myös luvun Ikkunan luomisen ominaisuudet: Uuden ikkunan avaaminen JavaScriptissä.

Windows-objektin ominaisuuksien tarkistaminen selaimessa

Ominaisuudet, joita selain ei tue, ovat määrittelemättömiä.
Joitakin ominaisuuksia käytetään ikkunan konstruktorin parametreina, mutta niihin ei pääse suoraan käsiksi eikä niitä ole lueteltu tässä.

innerWidth innerHeight

outerWidth outerHeight

locationbar menubar personalbar statusbar toolbar scrollbars

pageXOffset pageYOffset

screenX screenY

directories

status. defaultStatus

opener

parent

top

name

length

Ei toimi Firefox 7:ssä

offscreenBuffering

Voidaan saada vastaavat arvot Internet Explorerissa ja kaikilla selaimilla:

document.body.clientHeight

document.body.clientWidth

document.body.offsetHeight

document.body.offsetWidth

document.documentElement.offsetHeight

document.documentElement.offsetWidth

Others

Crypto

Warning: DOCTYPE-ilmoitus voi vaikuttaa näihin arvoihin.

Ikkunan ja demojen metodit

Ikkunan avaamisen ja sulkemisen metodit on kuvattu luvussa: Uuden ikkunan avaaminen JavaScriptissä.

Metodien määritelmät alert(viesti) Näyttää viestin. x = prompt(viesti) Esittää valintaikkunan, jossa pyydetään käyttäjän vastausta, ja palauttaa vastauksen. x = confirm(viesti) Näyttää viestin, normaalisti kysymyksen, ja kaksi painiketta vahvistusta tai peruuttamista varten. Palauttaa true tai false. resizeTo(w, h) Muuttaa leveyden ja korkeuden kokoa. scrollTo(x, y) Ikkunan vierityksen on oltava sallittua scrollbars-lippukkeen mukaan, näin on oletusarvoisesti. moveTo(x, y) Siirtyminen annettuun kohtaan. id = setInterval(expression, milliseconds) Arvioi lausekkeen toistuvasti intervalliajan mukaan. clearInterval(id) Tyhjennä aikaväli. id = setTimeout(expression, millisekuntia) Arvioi lauseketta määräajan jälkeen. clearTimeout(id) Tyhjennä aikaväli. focus() Siirrä fokus ikkunaan. blur() Poista fokus nykyisestä/annetusta ikkunasta. createPopup() Luo aliikkuna. print() Aloita ikkunan sisällön tulostus. HTML-ikkunan objetin metodien esittely Klikkaa painiketta nähdäksesi, miten metodi toimii. Vastaava koodi näkyy oikealla.

Katso myös

Esimerkki setTimeoutin käytöstä on mukana lightbox with fade in effect -demossa.

Vastaa

Sähköpostiosoitettasi ei julkaista.