Sebagai tambahan kepada objek-objek JavaScript dan metode, Pengembang halaman Web dapat mengakses objek-objek dan metode dalam Netscape browser. Bagian ini akan membahas Objek Netscape Navigator dan metode-metodenya.
Netscape Navigator membangun suatu hirarki instance-instance yang berkaitan dengan dokumen yang sedang di proses.
Hirarki ini penting untuk membuat acuan kepada Objek dan propertinya. Turunan dari suatu Objek adalah properti dari objek orang tuanya. Karena semua objek adalah merupakan turunan dari objek window , sehingga objek window sendirinya tidak memiliki acuan ke objek maupun properti apapun. Tetapi bagaimanapun, acuan ke suatu dokumen pada window lain membutuhkan tambahan nama window kepada Objek acuan-nya.
Untuk dapat menggunakan JavaScript secara benar membutuhkan pengertian bagaimana Netscape Navigator memproses suatu dokumen HTML. Ketika suatu dokumen HTML di muat, browser akan mulai melakukan proses terhadap baris pertama dari dokumen. Browser membuat layout dari layar berdasarkan perintah HTML yang terdapat dalam dokumen tersebut. Setelah layar selesai digambar, layar tidak dapat digambar ulang tanpa melakukan proses terhadap dokumen baru. Bagaimana hal ini mempengaruhi frame dan window adalah topik pada bagian berikutnya.
Sesuai dengan hal ini, maka instance dari suatu objek ada setelah proses dilakukan terhadap baris HTML yang menghasilkan instance tersebut. Dengan kata lain JavaScript tidak dapat mengacu pada suatu objek HTML seperti form, atau menjalankan suatu fungsi sampai browser memproses perintah tersebut. Sebagai contoh, JavaScript tidak dapat mengacu pada suatu objek form sampai browser memproses HTML untuk form tersebut. Demikian juga dengan proses perubahan properti, setelah browser menggunakan properti dalam menghasilkan layout window, maka perubahan properti setelah itu tidak memiliki efek terhadap tampilannya.
Walaupun nampaknya keterbatasan tersebut berat, namun dengan pengertian yang baik terhadap HTML proses dan JavaScript akan mengurangi frustasi. Prinsip utama yang perlu diingat bahwa suatu dokumen HTML diproses secara berurut dan JavaScript adalah bagian dari proses secara berurut tersebut.
Objek window adalah orang tua dari semua Objek. Hal tersebut termasuk semua window dan frame yang berada dalam suatu. Ketika browser mulai memuat suatu dokumen HTML, hal tersebut dimulai dengan suatu instance dari objek window. Jika dokumen HTML membuat suatu frame, informasi dari frame tersebut tersimpan dalam suatu objek frame array. Dengan kata lain, membuka suatu window akan menghasilkan suatu anak dari objek window. Kehebatan dari JavaScript adalah terletak pada kemampuan untuk melakukan utilisasi properti dan metode dari objek window.
Bagian ini akan membahas properti dari objek window berikut :
Diantara ketiga objek tersebut, document adalah objek yang paling penting dalam hirarki tersebut. Objek document itu sendirinya mengacu kepada objek lain. Hal lain yang penting dari hal ini adalah sebagai berikut:
Objek location mengandung informasi tentang URL sekarang. Acuannya ke objek tersebut adalah sebagai berikut:
[windowReference.]location[.propertyName]
Properti dari Objek location mengacu pada bagian individual dari URL:
protocol//hostname:port pathname search hash
CATATAN |
|
Properti dari objek location adalah sebagai berikut:
CATATAN |
|
Contoh :
<a href="" onmouseover="parent.location='http://www.indoprog.com/'"> Langsung ke homepage Indoprog</A>Contoh diatas akan langsung membuka homepage http://www.indoprog.com begitu pointer lewat diatas link Langsung ke homepage Indoprog
Akses ke objek History adalah topik yang kontroversial karena memungkinkan script mengirim history kembali ke server. Untuk mencegah pemakaian yang menyimpang, Netscape Navigator 2.01 keatas telah menghilangkan Objek ini.
Contoh 1 :<a href="#" onClick="history.go(-1)">Back</a> <input type=button value="Back" onClick="history.go(-1)"> Hasil :BackContoh 2 :<HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var agree=confirm("Apakah anda yakin untuk melanjutkan PROSES ?"); if (agree) document.write(""); else history.go(-1); // Kembali ke halaman sebelumnya // End --> </SCRIPT></HEAD>
Objek document menyimpan properti, objek, dan metode yang mewakili dokumen. Hal tersebut mengacu pada bagian dokumen HTML yang didefinsikan oleh tag <BODY></BODY>. Bagian ini mendiskusikan komponen dari objek dokumen, kecuali objek form (yang akan dibahas pada bagian berikutnya).
Option HTML ke tag <BODY> mendefinisikan properti objek document.
JavaScript mengacu pada semua properti ini, kecuali untuk image background.
CATATAN |
|
Properti color untuk Objek document adalah sebagai berikut:
Contoh 1:
<FORM> <SELECT onChange= "document.bgColor=this.options[this.selectedIndex].value"> <OPTION VALUE="40E0D0"> Torquoise <OPTION VALUE="2E8B57"> Sea Green <OPTION VALUE="87CEEB"> Sky Blue <OPTION VALUE="F4A460"> Sandy Brown <OPTION VALUE="FFF0F5"> Lavender Blush <OPTION VALUE="FF1493"> Deep Pink <OPTION VALUE="FFFFFF" SELECTED> White </SELECT> </FORM>Hasil :
Objek document juga mengandung properti berikut yang tidak berkaitan dengan warna:
Contoh 1:
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("Update terakhir :");
document.write(document.lastModified);
// -->
</SCRIPT>Hasil:
Update terakhir :07/14/2000 09:07:48
Contoh 2:
<form name=404form><script language="JavaScript"> <!-- Begin var from = document.referrer; document.write("<input type=text name=referrer value='" + from + "'>"); // End --></script></form>Hasil :
Anda datang dari halaman :
Objek anchors mengandung suatu array dari semua anchors yang
dideklarasikan dengan atribut NAME dari tag <A>
</A>. Array tersebut dimulai dari 0 dan berlanjut sampai document.anchors.length
- 1. Nilai dari document.annchors[index] adalah null.
TIP |
|
Array link mengandung Objek link yang didefinisikan oleh tag <A></A>
atau dengan metode link. Array tersebut meliputi objek untuk atribut HREF
dan NAME. Dengan tambahan ke atribut TARGET, properti dari
masing-masing Objek link adalah identik dengan Objek location.
CATATAN |
|
Objek link memiliki dua event handler: onClick dan onMouseOver. Bagian ini disebut sebagai "The Form Objek," pada bagian selanjutnya di bab ini, menggambarkan bagaimana mengunakan event handler.
Property cookie mengandung suatu nilai string dari isi cookier dari file cookies.txt untuk dokumen tersebut. Untuk suatu keterangan lengkap tentang bagaimana menggunakan cookies, lihat bagian Netscape cookie specification. Metode substring, charAt, indexOf, dan lastIndexOf dapat digunakan untuk memisahkan string cookie.
Objek document mengandung lima metode:
Sebagaimana yang ditunjukkan pada contoh sebelumnya, metode document.write, tanpa mengacu pada suatu window, menulis text ke window yang sekarang. Metode document.writeln() adalah sama dengan document.write, selain itu juga menyisip suatu karakter newline pada akhir dari argumen. Format dari metode ini adalah sebagai berikut:
document.write(ekspresi [, ekspresi2] ... [ekspresiN]) document.writeln(ekspresi [, ekspresi2] ... [ekspresiN])
Tipe default MIME adalah text/html. Bagaimanapun, metode document.open(["mimetype"])
memungkinkan untuk membuka type MIME lainnya, seperti text/plain, image/gif,
image/jpeg, image/x-bitmap, dan plugIn. Metode document.open() membuka
suatu stream untuk mengumpulkan output dari metode write dan write.ln.
Jika tipe MIME adalah text atau image, browser membuka suatu stream untuk
layout, untuk plugIn, browser membukanya pada suatu plug-in. Jika suatu
dokumen telah siap dalam target windows, mthod open menghapusnya.
Contoh :
<SCRIPT> document.write(Date()+".") </SCRIPT>Hasil :
CATATAN |
|
Stream tersebut tetap terbuka sampai browser menemukan metode document.close(). document.close() memaksakan isi dari stream ditampilkan. Metode document.clear() membersihkan isi dari window.
Contoh :
<SCRIPT LANGUAGE="JavaScript"> <!-- Begin var clocktext, timeday; var pagetitle = document.title; function scroll() { today = new Date(); sec = today.getSeconds(); hr = today.getHours(); min = today.getMinutes(); // 12 Hour clock fix by Michael Mann if (hr < 12) { timeday = " AM"; } else { timeday = " PM"; } if (hr > 12) hr = hr - 12; if (hr <= 9) hr = "0" + hr; if (min <= 9) min = "0" + min; if (sec <= 9) sec = "0" + sec; var clocktext = " - " + hr + ":" + min + ":" + sec + timeday; clocktimer = setTimeout("scroll()", 1000); document.title = pagetitle + clocktext; } if (document.all) scroll(); // End --> </script>Hasil : Lihat pada Title Halaman ini