Ablakok létrehozása
A JavaScript segítségével megnyithatunk új
böngészõ ablakokat, amelyekbe betölthetünk
új HTML oldalakat, de akár mi magunk is létrehozhatunk
dokumentumokat az új ablakban JavaScript
segítségével, menet közben. Elõször
ismerkedjünk meg azzal, hogy milyen módon nyithatunk meg
új ablakot. Az alábbi példa ezt mutatja be:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- JavaScript kód elrejtése
function ujablak(){
ablak = open("pld041.htm");
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" VALUE="Új ablak nyitása" onClick="ujablak()">
</FORM>
</BODY>
</HTML>
Itt rögtön ki is próbálhatod!
Látható, hogy az ujablak nevû
függvényben az open() függvénnyel
nyitottuk meg az új böngészõ ablakot, amely
megjelenését is szabályozhatjuk JavaScript-en
keresztül:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- JavaScript kód elrejtése
function ujablak2(){
ablak = open("pld041.htm", "uj_ablak",
"width=300,height=200,status=no,menubar=no");
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" VALUE="Módosított ablak nyitása"
onClick="ujablak2()">
</FORM>
</BODY>
</HTML>
Látható, hogy a tulajdonságokat egyetlen,
szóközöket nem tartalmazó sztringben
adtuk meg:
"width=300,height=200,status=no,menubar=no"
Az így létrehozott ablak neve az open()
függvény második paramétere. Mi most az
uj_ablak nevet adtuk neki, és ezzel hivatkozhatunk rá a
késõbbiekben. Például ha új dokumentumot
szeretnénk betölteni:
<A HREF="uj_dokumentum.html" TARGET="uj_ablak">
A következõ táblázat összefoglalja azokat
a tulajdonságokat, amelyeket egy ablaknál
állíthatunk.
Tulajdonság |
Beállítható érték |
Mit állít? |
directories | yes | no |
katalógust megjeleníti ill. eltûnteti |
height | a képpontok száma |
az ablak magassága |
location | yes | no |
a címsort megjeleníti ill. eltûnteti |
menubar | yes | no |
megjeleníti ill. eltûnteti a menüsort |
resizable | yes | no |
átméretezhetõ legyen-e az ablak |
scrollbars | yes | no |
a gördítõsávokat megjeleníti ill. eltûnteti |
status | yes | no |
a státuszsort megjeleníti ill. eltûnteti |
toolbar | yes | no |
megjeleníti ill. eltûnteti az eszközsort |
width | a képpontok száma |
az ablak szélessége |
Néhány további tulajdonságot tartalmaz a
JavaScript 1.2-es változata, amelyet viszont csak a Netscape 4.0-ás
változata, ill. az Internet Explorer 4.0-ás változata
képes kezelni. Ezek a következõk:
Tulajdonság |
Beállítható érték |
Mit állít? |
alwaysLowered | yes | no |
Az új ablak mindig a többi alatt helyezkedik el, ha értéke "yes" |
alwaysRaised | yes | no |
Az új ablak mindig a többi felett látszik, ha értéke "yes" |
dependent | yes | no |
Az új ablak a jelenlegi gyermekeként jön létre |
hotkeys | yes | no |
Ki- bekapcsolja a gyorsító billentyûk használatának lehetõségét |
innerWidth | a képpontok száma |
A régi width tulajdonságot váltja fel |
innerHeight | a képpontok száma |
A régi height tulajdonságot váltja fel |
outerWidth | a képpontok száma |
Az ablak külsõ határának szélességét határozza meg |
outerHeight | a képpontok száma |
Az ablak külsõ határának magasságát határozza meg |
screenX | elhelyezkedés képpontokban mérve |
Az ablak bal felsõ sarkának X koordinátája |
screenY | elhelyezkedés képpontokban mérve |
Az ablak bal felsõ sarkának Y koordinátája |
titlebar | yes | no |
Megjeleníti a címsort |
z-lock | yes | no |
Ha értéke "yes", akkor egy olyan ablakot kapunk, amely
nem emelkedik a többi fölé, ha õ lesz az aktiv
ablak |
Fontos tudni, hogy nem minden beállítás
próbálható ki közvetlenül, ugyanis az 1.2-es
tulajdonságok nagy része csak az ún. megjelölt,
hitelesített JavaScript kódokban mûködnek.
A következõ ûrlap segítségével
minden beállítási mód
kipróbálható, amelyet az 1.0-ás JavaScript támogat. Csak állítsuk
be a megfelelõ tulajdonságokat, majd a gombra kattintva
megjelenik az új ablak.
Ablakok bezárása
JavaScript segítségével be is zárhatjuk
az ablakunkat. Ehhez a close() függvényt kell
használnunk.
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- JavaScript kód elrejtése
function bezar(){
close();
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<CENTER>
<INPUT TYPE="button" VALUE="Zárj be!" onClick="bezar()">
</CENTER>
</FORM>
</BODY>
</HTML>
Töltsük be ezt a példát egy ablakba az elõbb
tanult módon!
Dokumentumok készítése JavaScriptbõl
Ez egy nagyszerû lehetõség JavaScript-ben. Nem egy
elõre elkészült HTML oldalt töltünk be egy
ablakba vagy keretbe, hanem menet közben készítjük
azt el, így megoldható, hogy napról-napra
változó, környezettõl függõ oldalakat
hozzunk létre.
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- A JavaScript kód elrejtése
function ujablak3(){
ujablak = open("","uj_ablak3",
"width=400,height=300,status=yes,toolbar=yes,menubar=yes");
ujablak.document.open();
ujablak.document.write("<HTML><HEAD><TITLE>Dokumentum ");
ujablak.document.write("készítése JavaScript-tel</TITLE>");
ujablak.document.write("</HEAD>");
ujablak.document.write("<BODY><CENTER><H1>");
ujablak.document.write("Ezt az oldalt teljesen a JavaScript ");
ujablak.document.write("hozta létre!");
ujablak.document.write("</H1></CENTER></BODY>");
ujablak.document.write("</HTML>");
ujablak.document.close();
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<FORM>
<INPUT TYPE="button" VALUE="Dokumentum készítése JavaScript-tel"
onClick="ujablak3()">
</FORM>
</CENTER>
</BODY>
</HTML>
Elõször nézzük meg az ujablak3()
nevû függvényt. Megnyitottunk egy új
böngészõ ablakot a már megismert open()
függvénnyel. Azonban vegyük észre, hogy az elsõ
paraméternek nem adtunk értéket (""), ez azt jelenti,
hogy nem kívánunk betölteni HTML oldalt, hanem azt
JavaScript-el akarjuk létrehozni. Az ujablak nevû
változóval, amit most definiáltunk,
hozzáférhetünk a megnyitott ablakunkhoz (fontos megjegyezni
azt, hogy ennél a feladatnál nem használható
az ablaknak adott uj_ablak3 név). Az ablak megnyitása
után meg kell nyitnunk a dokumentumot. Ezt az alábbi sor
csinálja:
ujablak.document.open();
Azaz meghívtuk a document objektum open()
metódusát. Ezt ne keverjük össze a window
objektum open() függvényével! Az ujablak
változót ki kell tenni a document.open()
elé, mert csak így érhetjük el az ablakunkat.
A függvényben a következõ sorok hozzák
létre a tényleges oldalt:
ujablak.document.write("<HTML><HEAD><TITLE>Dokumentum ");
ujablak.document.write("készítése JavaScript-tel</TITLE>");
ujablak.document.write("</HEAD>");
ujablak.document.write("<BODY><CENTER><H1>");
ujablak.document.write("Ezt az oldalt teljesen a JavaScript ");
ujablak.document.write("hozta létre!");
ujablak.document.write("</H1></CENTER></BODY>");
ujablak.document.write("</HTML>");
Amint az látható, egyszerû HTML elemeket írtunk
a dokumentumunkba a document.write() függvény
segítségével. Ide természetesen bármilyen
más HTML elem írható. Miután ilyen módon
megírtuk a dokumentumunkat, le is kell zárni azt:
ujablak.document.close();
A példa azt mutatta be, hogy milyen módon lehet dokumentumot
létrehozni új ablakba JavaScript segítségével.
Új ablak helyett választhatunk tetszõleges keretet
is. Tegyük fel, hogy már rendelkezünk keret1 és
keret2 nevû keretekkel, és dokumentumot akarunk létrehozni
a keret2-be! Ezt megtehetjük a következõ módon:
parent.keret2.document.open(); // a dokumentum megnyitása a keret2-ben
parent.keret2.document.write(" ... Ide kerül a HTML kód ... ");
parent.keret2.document.close(); // a dokumentum bezárása a keret2-ben
|