A JavaScript Window egy globális interfész (objektumtípus), amely a böngészőablak életciklusának vezérlésére és különböző műveletek végrehajtására szolgál.

A JavaScript kódunkban rendelkezésre áll egy globális változó window, amely az aktuális böngészőablakot jelképezi, amelyben a kód fut, és közvetlenül elérhető a window literál használatával.

Ez egy weboldalt tartalmazó ablakot jelképez, amelyet viszont a document objektum képvisel. Az ablak lehet új ablak, új lap, keretkészlet vagy JavaScript segítségével létrehozott egyedi keret.

A több lapos böngésző esetén az ablakobjektum egyetlen lapot reprezentál, de egyes tulajdonságai, mint a innerHeight, innerWidth és metódusai, mint a resizeTo() az egész böngészőablakot érintik.

Amikor új ablakot vagy lapot nyitunk, automatikusan létrejön az adott ablakot/lapot reprezentáló ablakobjektum.

Az ablakobjektum tulajdonságait az éppen megnyitott ablakra vonatkozó információk lekérdezésére használjuk, míg a metódusait olyan speciális feladatok elvégzésére, mint az ablak megnyitása, maximalizálása, minimalizálása stb.

Az ablakobjektum megértéséhez használjuk azt néhány művelet elvégzésére, és nézzük meg, hogyan működik.

A JavaScript ablakobjektum használata

Használjuk a JavaScript ablakobjektumot egy új ablak létrehozására, a open() metódus segítségével. Ez a metódus létrehoz egy új ablakot, és visszaad egy objektumot, amelyet a továbbiakban az ablak kezelésére használhatunk.

A fenti kódban a meglévő ablak ablakobjektumát használtuk egy új ablak létrehozásához a open() metódus segítségével. A open() metódusban megadhatjuk az új ablakban megnyitandó URL-t (üresen is hagyhatjuk), az ablak nevét, a létrehozandó ablak szélességét és magasságát.

A következő az ablakobjektum open() metódusának szintaxisa:

let newWindow = window.open(url, windowName, );

Az új ablak létrehozása során annyi tulajdonságot adhatunk meg, amennyit csak akarunk.

A open() metódus végrehajtása után visszaadja az újonnan létrehozott ablak objektumának referenciáját, amelyet hozzárendelhetünk egy változóhoz, ahogy a fenti kódban is tettük. A window.open() metódus által visszaadott értéket a win változóhoz rendeltük.

A win változót az új ablak elérésére használtuk, például az ablak nevének lekérdezésére, az új ablakot megnyitó ablak helyének lekérdezésére stb.

A window objektumnak számos tulajdonsága és metódusa van, amelyeket az alábbiakban felsoroltunk.

Find Dimensions of a Window

A window objektum beépített tulajdonságainak használatával megtudhatjuk az ablak magasságát és szélességét.

A window objektummal(window.document) elérhetjük a dokumentum objektumot is, ami hozzáférést biztosít a HTML dokumentumhoz, így új HTML elemet adhatunk hozzá, vagy bármilyen tartalmat írhatunk a dokumentumba, ahogy a fenti példában is tettük.

JavaScript Window Object Properties

A wondow objektum tulajdonságai a windows objektumon belül létrehozott változókra utalnak.

A JavaScriptben az összes rendelkezésre álló adatot tulajdonságként csatoljuk az window objektumhoz.

A window objektum tulajdonságaihoz hozzáférhetünk, mint például: window.propertyname ahol a tulajdonságnév a tulajdonság neve.

Az alábbi táblázat a legnépszerűbb ablakobjektum-tulajdonságokat tartalmazza:

.

Property Description
closed visszaad egy boolean értéket, amely megadja, hogy az ablak be van-e zárva vagy sem
document meghatározza az ablakban lévő dokumentumobjektumot.
history meghatározza az ablak előzményobjektumát.
frames megadja az aktuális ablak összes keretének tömbjét
defaultStatus megadja az ablak állapotsorában megjelenítendő alapértelmezett üzenetet.
innerHeight megadja az ablak tartalmi területének belső magasságát.
innerWidth megadja az ablak tartalmi területének belső szélességét.
length megadja az ablakban található keretek számát.
location megadja az ablak helyobjektumát
name megadja az ablak nevét
top megadja a böngésző legfelső ablakának hivatkozását.
self visszaadja az aktuális aktív keret vagy ablak hivatkozását.
parent visszaadja az aktuális ablak szülő keretét vagy ablakát.
status megadja az ablak állapotsorában megjelenő üzenetet, amikor az ablakon tevékenységet végeznek.
screenleft megadja az ablak x koordinátáját a felhasználó monitor képernyőjéhez képest
screenTop megadja az ablak y koordinátáját a felhasználó monitor képernyőjéhez képest
screenX meghatározza az ablak x koordinátáját a felhasználó monitor képernyőjéhez viszonyítva
screenY meghatározza az ablak y koordinátáját a felhasználó monitor képernyőjéhez viszonyítva

Mutatunk egy példát, hogy megnézzük néhány ilyen tulajdonságot működés közben:

A fenti példában egy új ablakot hoztunk létre, csak azért, hogy megismerkedjünk az új ablakok létrehozásával, és azért is, hogy megértsük, hogy amikor új ablakot hozunk létre, akkor az aktuális ablaknak egy másik ablakobjektuma van, az új ablaknak pedig egy külön ablakobjektuma lesz.

Ezután megpróbáltuk elérni a létrehozott új ablak néhány tulajdonságát.

FELADAT: Próbáljunk ki még néhány ablak tulajdonságot a fenti kód játszótéren, hogy gyakoroljuk és megértsük az ablak tulajdonságainak működését.

JavaScript Window Object Methods

Az ablakobjektum metódusai az ablakobjektumon belül létrehozott függvényekre utalnak, amelyek segítségével különböző műveleteket végezhetünk a böngészőablakon, például hogyan jelenít meg egy üzenetet, vagy hogyan kap bevitelt a felhasználótól.

A következőkben felsoroltunk néhányat a leggyakrabban használt ablakobjektum-módszerek közül:

értékel ki.

.

.

Módszer Megnevezés
alert() meghatároz egy módszert, amely megjelenít egy figyelmeztető dobozt egy üzenettel egy OK gombot.
blur() meghatároz egy módszert, amely eltávolítja a fókuszt az aktuális ablakból.
clearInterval() meghatároz egy módszert, amely törli a setInterval() módszerrel beállított időzítőt.
close() meghatároz egy olyan metódust, amely bezárja az aktuális ablakot.
confirm() meghatároz egy olyan metódust, amely megjelenít egy párbeszédpanelt egy üzenettel és két gombot OK és Cancel
focus() meghatároz egy olyan metódust, amely beállítja a fókuszt az aktuális ablakon.
open() meghatároz egy módszert, amely megnyit egy új böngészőablakot
moveTo() meghatároz egy módszert, amely egy ablakot egy megadott pozícióba mozgat
moveBy() meghatároz egy módszert, amely egy ablakot az aktuális pozícióhoz képest mozgat.
prompt() meghatároz egy olyan metódust, amely inputot kér.
print() meghatároz egy olyan metódust, amely nyomtatási parancsot küld az aktuális ablak tartalmának kinyomtatására.
setTimeout() meghatároz egy olyan módszert, amely egy kifejezést egy megadott számú milliszekundum után kiértékel.
setInterval() meghatároz egy olyan módszert, amely egy kifejezést meghatározott időközönként (milliszekundumban)
resizeBy() megadja azt az összeget, amellyel az ablak mérete átméreteződik
resizeTo() az ablak dinamikus átméretezéséhez
scroll() gördíti az ablakot a dokumentum egy adott helyére
scrollBy() gördíti az ablakot a megadott értékkel
stop() ez a módszer leállítja az ablak betöltését

Mutatunk egy példát, és megnézzük a fenti módszerek közül néhányat működés közben:

A fenti példában néhány ablakmetódust használtunk, több módszert is kipróbálhatunk. A következő bemutatóban megismerkedünk a History objektummal, amely az ablak objektum egyik tulajdonsága.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.