kode program
fungsi openEgg(ketik){
window.showModalDialog('../EggPlay.aspx?type='+type,'','dialogHeight: 600px; dialogWidth: 800px; edge: Raised; center: Ya; bantuan: Tidak; dapat diubah ukurannya: Tidak; status: Tidak; gulir:Tidak;');
}
Javascript memiliki banyak metode bawaan untuk menghasilkan kotak dialog, seperti window.alert(), window.confirm(), window.prompt(), dll. Namun, IE menyediakan lebih banyak metode untuk mendukung kotak dialog. Seperti:
showModalDialog() (didukung oleh IE 4+)
showModelessDialog() (didukung oleh IE 5+)
Metode window.showModalDialog() digunakan untuk membuat kotak dialog modal yang menampilkan konten HTML. Karena ini adalah kotak dialog, ia tidak memiliki semua properti jendela yang umumnya dibuka dengan window.open().
Metode window.showModelessDialog() digunakan untuk membuat kotak dialog modeless yang menampilkan konten HTML.
Saat kita menggunakan showModelessDialog() untuk membuka jendela, kita tidak harus menggunakan window.close() untuk menutupnya. Saat dibuka dalam mode non-modal [IE5], jendela yang membuka kotak dialog masih dapat melakukan fungsi lainnya operasi, yaitu kotak dialog tidak selalu terbuka. Ini adalah fokus teratas dan menutup secara otomatis ketika URL jendela yang membukanya berubah. Kotak dialog modal [IE4] selalu memiliki fokus (fokus tidak dapat dihapus sampai ditutup). Kotak dialog modal ditautkan ke jendela yang membukanya, jadi ketika kita membuka jendela lain, hubungan tautannya masih dipertahankan dan disembunyikan di bawah jendela yang aktif.
Cara menggunakannya:
vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [, sFeatures])
Deskripsi parameter:
URL
Parameter yang diperlukan, ketik: string. Digunakan untuk menentukan URL dokumen yang akan ditampilkan di kotak dialog.
vArgumen
Parameter opsional, jenis: varian. Digunakan untuk meneruskan parameter ke kotak dialog. Jenis parameter yang diteruskan tidak dibatasi, termasuk array, dll. Kotak dialog memperoleh parameter yang diteruskan melalui window.dialogArguments.
Fitur
Parameter opsional, ketik: string. Digunakan untuk menggambarkan tampilan kotak dialog dan informasi lainnya, Anda dapat menggunakan satu atau lebih berikut ini, dipisahkan dengan titik koma ";".
dialogHeight adalah tinggi kotak dialog, tidak kurang dari 100px. Unit default dialogHeight dan dialogWidth di IE4 adalah em, sedangkan di IE5 adalah px. Untuk kenyamanan, saat mendefinisikan kotak dialog modal, gunakan px sebagai unit.
dialogWidth: lebar kotak dialog.
dialogLeft: Jarak dari sisi kiri desktop.
dialogTop: jarak dari desktop.
center: {yes |. no |.1 |.0}: Apakah jendela berada di tengah, defaultnya adalah ya, tetapi tinggi dan lebarnya masih dapat ditentukan.
bantuan: {ya |.tidak |.1 |.0}: Apakah akan menampilkan tombol bantuan, defaultnya adalah ya.
dapat diubah ukurannya: {ya |.tidak |.1 |.0} [IE5+]: Apakah dapat diubah ukurannya. Standarnya adalah tidak.
status: {ya |.tidak |.1 |.0} [IE5+]: Apakah akan menampilkan bilah status. Defaultnya adalah ya[Modal] atau tidak[Modal].
gulir:{ ya |.tidak |.1 |.0 |.aktif |.mati }: Menunjukkan apakah kotak dialog menampilkan bilah gulir. Standarnya adalah ya.
Ada juga beberapa atribut yang digunakan dalam HTA, yang umumnya tidak digunakan pada halaman web biasa.
dialogHide:{ yes |.no |.1 |.0 |.on |.off }: Apakah kotak dialog disembunyikan selama pencetakan atau pratinjau cetak. Standarnya adalah tidak.
edge:{ cekung |. terangkat }: Menentukan gaya batas kotak dialog. Standarnya dinaikkan.
tanpa hiasan:{ ya |.tidak |.1 |.0 |.aktif |.tidak aktif }: Defaultnya adalah tidak.
Masukkan parameter:
Untuk meneruskan parameter ke kotak dialog, parameter tersebut dilewatkan melalui vArguments. Tidak ada batasan jenisnya. Untuk tipe string, panjang maksimalnya adalah 4096 karakter. Anda juga dapat meneruskan objek, misalnya:
kode program
test1.htm
=====
<skrip>
var mxh1 = Array baru("mxh","net_lover","Mencius Bab E")
var mxh2 = window.open("about:blank","window_mxh")
// Melewati array ke kotak dialog
jendela.showModalDialog("test2.htm",mxh1)
// Melewati objek jendela ke kotak dialog
jendela.showModalDialog("test3.htm",mxh2)
</skrip>
tes2.htm
=====
<skrip>
var a = jendela.dialogArgumen
alert("Parameter yang Anda lewati adalah: " + a)
</skrip>
tes3.htm
=====
<skrip>
var a = jendela.dialogArgumen
alert("Parameter yang Anda lewati adalah objek jendela, nama: " + a.name)
</skrip>
Informasi dapat dikembalikan ke jendela yang membuka kotak dialog melalui window.returnValue, dan tentunya juga dapat berupa objek. Misalnya:
kode program
tes4.htm
====
<skrip>
var a = jendela.showModalDialog("test5.htm")
for(i=0;i<a.length;i++) peringatan(a[i])
</skrip>
tes5.htm
====
<skrip>
fungsi kirimKe()
{
var a=Array baru("a","b")
jendela.returnValue = a
jendela.tutup()
}
</skrip>
<tubuh>
<bentuk>
<input value="Kembali" type=tombol onclick="sendTo()">
</bentuk>
Pertanyaan Umum:
1. Bagaimana cara mengirimkan dalam kotak dialog modal tanpa membuka jendela baru?
Jika browser Anda adalah IE5.5+, Anda dapat menggunakan iframe dengan atribut nama di kotak dialog, dan Anda dapat menetapkan target menjadi nama iframe saat mengirimkan. Untuk IE4+, Anda dapat menggunakan frame dengan tinggi 0: contoh,
kode program
tes6.htm
====
<skrip>
jendela.showModalDialog("test7.htm")
</skrip>
tes7.htm
====
if(jendela.lokasi.pencarian) peringatan(jendela.lokasi.pencarian)
<frameset baris = "0,*">
<frame src="/blog/about:blank">
<bingkai src="test8.htm">
</frameset>
tes8.htm
====
<form target="_self" metode="dapatkan">
<masukan nama=txt nilai="uji">
<tipe masukan=kirim>
</bentuk>
<skrip>
if(jendela.lokasi.pencarian) peringatan(jendela.lokasi.pencarian)
</script>
2. Bisakah parameter diteruskan langsung ke kotak dialog melalui http://servername/virtualdirname/test.htm?name=mxh ?
Jawabannya adalah tidak. Tapi itu mungkin terjadi di dalam bingkai.