Previous | Table of Contents | Next |
JavaScript Math Object | JavaScript Document Object |
a JavaScript ablakobjektum a JavaScript Objektumhierarchia tetején helyezkedik el, és a böngészőablakot (vagy a Windowst, ha egyszerre több böngészőablak is nyitva van) képviseli. E fejezetig a JavaScript belső és szintaxisára összpontosítottunk. Ebben a fejezetben elkezdjük a dolgokat a képernyőn (ami végül is a JavaScript egyik fő célja). A window objektum lehetővé teszi a fejlesztők számára, hogy olyan feladatokat hajtsanak végre, mint a böngészőablakok megnyitása és bezárása, figyelmeztető és gyors párbeszédablakok megjelenítése, valamint időtúllépések beállítása (egy meghatározott idő elteltével végrehajtandó művelet megadása). Bár az időtúllépések a window objektum jellemzői, ezeket a JavaScript Timeouts fejezetben fogjuk lefedni, nem pedig ebben a fejezetben.
A JavaScript ablak objektumra való hivatkozás
a JavaScript objektum alapjainak megfelelően általában szükséges pontjelölés használata az objektum tulajdonságainak vagy metódusainak elérésekor. Például a következő parancsfájl-töredék hozzáfér a dokumentumobjektum write() metódusához:
document.write("Hello");
az ablakobjektum az objektumhierarchia legfelső szintű objektuma. Mint ilyen, amikor egy objektum metódusra vagy tulajdonságra hivatkoznak egy szkriptben az objektum neve és a pont előtag nélkül, a JavaScript feltételezi, hogy a window objektum tagja. Ez azt jelenti, például, hogy amikor hívja a window alert () metódus megjelenítéséhez riasztási párbeszédablak az ablak. az előtag nem kötelező. Ezért a következő módszer kéri elérni ugyanazt a dolgot:
window.alert();alert()
JavaScript ablak objektum tulajdonságai
a JavaScript ablak az objektum számos olyan tulajdonságot tartalmaz, amelyek ellenőrizhetők és használhatók egy szkriptben:
- ablak.zárt-több ablak kezelésekor ez a tulajdonság azt jelzi, hogy egy ablak be van-e zárva vagy sem.
- ablak.defaultstatus / ablak.status-defaultstatus megadja a böngésző állapotsorában megjelenő alapértelmezett üzenetet. állapot ideiglenes üzenetet ad meg, amelyet az alapértelmezett helyett a böngésző állapotsorában kell megjeleníteni. Sok böngészőben letiltva.
- ablak.keretek – ha az ablak kereteket tartalmaz, ez a tömb tartalmazza a keretobjektumok tömbjét (lásd a JavaScript tömbök részleteit a tömbök eléréséről).
- window.name -a parancsfájl által megnyitott ablakoknak nevet kell adni. Ez a tulajdonság tartalmazza a megfelelő ablakobjektum nevét.
- ablak.nyitó-ha egy ablakot egy másik ablakban található szkriptben nyitottak meg, a gyermekablak ezen tulajdonsága tartalmaz egy referenciaablakot, amely megnyitotta.
- ablak.szülő-ha ablakkeretekkel dolgozik, ez a tulajdonság hivatkozást tartalmaz a keretet tartalmazó ablakobjektumra.
- ablak.képernyő-olyan objektum, amely információkat tartalmaz arról a képernyőről, amelyen az ablak megjelenik (az objektum tulajdonságai közé tartozik a magasság, szélesség, elérhető magasság, elérhető szélesség és színmélység).
- ablak.self-hivatkozás az aktuális ablakra.
- ablak.top-hivatkozás a legfelső szintű ablakra, amikor keretekkel dolgozik.
böngészőablakok megnyitása JavaScript használatával
egy új böngészőablak nyitható meg egy JavaScript szkriptből az ablakobjektum open() metódusával. Az új ablak megnyitásának szintaxisa a következő:
newWindowObj = window.open("URL", "WindowName", "feature, feature, feature ... ");
az alábbiakban ismertetjük az open() metódusnak átadott argumentumokat:
- URL – megadja az új ablakba betöltendő weboldal URL-jét. Ha nincs megadva URL, üres ablak töltődik be.
- WindowName – megadja az ablak nevét, és az ablakra utal.
- jellemzők – vesszővel elválasztott funkciók listája, amelyek lehetővé teszik az ablak megjelenésének testreszabását. Lehetőségek:
Beállítás | magyarázat |
---|---|
szélesség | megadja a kezdeti szélességet |
magasság | megadja a böngésző kliens ablakának kezdeti magasságát (lásd innerheight a tartalomterület méretéhez) |
innerwidth | megadja az ablak tartalmi területének kezdeti szélességét |
innerheight | megadja az ablak tartalmának kezdeti magasságát terület |
külső szélesség | megadja a navigátorablak kezdeti szélességét |
külső magasság | megadja a navigátorablak kezdeti magasságát |
eszköztár | megadja, hogy az ablak tartalmazza-e a böngésző eszköztárát vagy sem |
állapot | megadja, hogy az ablaknak tartalmaznia kell-e a böngésző állapotsorát, vagy sem |
függő | megadja, hogy az ablaknak a szülőablakával összhangban kell-e bezáródnia |
menüsor | megadja, hogy a tartalmazza a böngésző menüsorát |
location | megadja, hogy az ablak tartalmazza-e a böngésző helye/URL mezőjét |
görgetősávok | elrejti/megjeleníti a böngésző vízszintes/függőleges görgetősávjait |
átméretezhető | megadja, hogy a felhasználó jogosult-e átméretezni az ablakot, miután megjelenik. |
könyvtárak | megadja, hogy az ablak tartalmazza-e a böngésző személyes eszköztárát. |
copyHistory | megadja, hogy az új ablak tartalmazza-e a meghívó ablak URL-előzményeinek másolatát |
balra | megadta a képpontok számát a képernyő bal oldalától az új ablakig |
top | megadta a képpontok számát a képernyő tetejétől az új ablakig az új ablak |
alwayslowered | létrehoz egy új ablakot, amely mindig a többi böngészőablak alatt helyezkedik el. Gyakran használják azokat a bosszantó pop-under hirdetéseket. |
alwaysRaised | létrehoz egy új ablakot, amely mindig a képernyő többi böngészőablakának tetején helyezkedik el. |
z-lock | zárolja azt a szintet, amelyen a böngésző megjelenik a többi böngészőablakhoz képest. |
a magasság, szélesség és pozíció jellemzők számokkal vannak beállítva. A többi funkcióbeállítás igaz vagy hamis értékekkel állítható be (az igen, a nem és az 1 és a 0 is használható az igaz és a hamis helyett). A hiányzó attribútum hamisnak tekinthető. A következő példa egy új ablakot hoz létre egy menüsorral, meghatározott dimenzióval és eszköztár nélkül:
newWindowObj = window.open("URL", "WindowName", "toolbar=0, menubar=1, innerHeight=200, innerWidth=300");
böngészőablakok bezárása JavaScript használatával
egy ablak bezárható az ablakobjektum close() metódusával. Az ablak nevére (az open() metódusban megadott) hivatkozni kell a Bezárás végrehajtásakor, hogy biztosan bezárja a megfelelő ablakot. Például a következő kód létrehoz egy új ablakot, majd létrehoz egy nyomógombot, amelyre kattintva bezárja az új ablakot:
<script language="JavaScript" type="text/javascript">newWindowObj = window.open ("", "MyWindow");</script><form action="null"> <input type="button" value="Close Window" onclick="newWindowObj.close()" /></form>
az aktuális ablakot megnyitó ablak bezárása Az aktuális ablakobjektum nyitó tulajdonságával is lehetséges:
window.opener.close()
Ez bezárja azt az ablakot, amely megnyitotta azt az ablakot, amelyben a fenti parancsfájl fut.
A Windows áthelyezése és átméretezése
az ablak áthelyezhető a képernyő meghatározott koordinátáira az ablakobjektum moveTo () metódusával, amely argumentumként X és y koordinátákat vesz fel. A következő példa egy új ablakot áthelyez a 100, 200 helyre a képernyőn, amikor megnyomja az “ablak áthelyezése” gombot:
<script language="JavaScript" type="text/javascript">newWindowObj = window.open ("", "MyWindow");</script><form action="null"> <input type="button" value="Move Window" onclick="newWindowObj.moveTo(100, 200)" /></form>
amellett, hogy a mozgó ablak egy adott új helyre is lehetséges, hogy mozog egy ablak képest az aktuális helyét a képernyőn a moveBy() módszer a JavaScript window objektumot. A módszer ismét X és y értékeket vesz fel, amelyek hozzáadódnak a megadott ablak aktuális x és y koordinátáihoz. A negatív értékek felhasználhatók a mozgás irányának megváltoztatására:
<script language="JavaScript" type="text/javascript">newWindowObj = window.open ("", "MyWindow");</script><form action="null"> <input type="button" value="Move Window" onclick="newWindowObj.moveTo(100, 200)" /></form>
a window resizeTo() és a resizeBy() metódusok hasonlóan működnek, mivel lehetővé teszik az ablak méretének megváltoztatását egy adott méretre, vagy egy új méretre az aktuális mérethez képest.
az ablak fókuszának megváltoztatása
Ha egy ablak a képernyőn jelenleg kiválasztott ablak, akkor azt mondják, hogy fókuszban van. Általában az egérmutatóval való kattintás egy ablakban az ablak fókuszát adja. A JavaScript segítségével programozható az ablak fókuszának megváltoztatása a focus() és blur () módszerekkel. A következő példa egy új ablakot jelenít meg, elhomályosítja azt, hogy a nyitó ablak továbbra is fókuszban legyen, és egy gombot biztosít a fókusz új ablakra váltásához:
<script language="JavaScript" type="text/javascript">newWindowObj = window.open ("", "MyWindow");newWindowObj.blur();</script><form action="null"> <input type="button" value="Focus New Window" onclick="newWindowObj.focus()" /></form>
Üzenetdoboz párbeszédablakok megjelenítése
a JavaScript ablakobjektum háromféle üzenet párbeszédablakot jelenít meg, a riasztást, a megerősítést és a gyors párbeszédablakokat:
- alert – üzenet megjelenítésére szolgál a felhasználó számára. Tartalmaz egy üzenetterületet, ahol a figyelmeztető üzenetet meg kell jeleníteni, valamint egy “OK” gombot, amelyre a felhasználó rákattinthat a párbeszédablak elutasításához. Az alert() metódus egyetlen argumentumot vesz fel, amely a párbeszédpanelen megjelenítendő üzenetet képviseli. A következő weblaprészlet egy figyelmeztető párbeszédpanelt jelenít meg a “nincs érvényes jelszavad” üzenettel, amikor a “Figyelmeztetés megjelenítése” gombra kattint:
<form action="null"> <input type="button" value="Show Alert" onclick="window.alert('You do not have a valid password')" /></form>
- megerősítés – akkor használható, ha igen vagy nem választ kell kapnia a felhasználótól. Ez a párbeszédpanel egy üzenettel, valamint az “OK” és a “Mégse” gombokkal jelenik meg. A confirm() metódus az üzenetet argumentumként jeleníti meg a felhasználónak, és true vagy false értéket ad vissza attól függően, hogy a felhasználó megnyomta – e az “OK” vagy a “Cancel”gombot:
<script language="JavaScript" type="text/javascript">function showConfirmation(){ var result = confirm("Would you like to continue?"); if (result) document.write("Continue"); else document.write("Do not continue");}</script><form action="null"> <input type="button" value="Show Confirmation" onclick="showConfirmation()" /></form>
- prompt-úgy tervezték, hogy lehetővé tegye a felhasználótól származó információk megszerzését. A párbeszédablak egy üzenetet tartalmaz a felhasználónak, egy szövegbeviteli mezőt az adatok beviteléhez, valamint az OK és a Mégse gombokat. A prompt() metódus az üzenetet argumentumként jeleníti meg, és a felhasználó által megadott értéket adja vissza:
<script language="JavaScript" type="text/javascript">function showPrompt(){ var userInput = prompt("Please enter your name:"); document.write("Hello, " + userInput);}</script><form action="null"> <input type="button" value="Show Prompt" onclick="showPrompt()" /></form>
Previous | Table of Contents | Next |
JavaScript Math Object | JavaScript Document Object |