Karena sistem harus kompatibel dengan metode shutdown yang digunakan oleh IE asli, setelah debugging dan pengujian, window.dialogarguments perlu diuji lagi, jika tidak masalah dapat terjadi.
fungsi okend (vals) {if (vals == null) vals = "true"; if (typeof (window.opener) == "tidak terdefinisi") {if (typeof (window.dialogArguments)! = "tidak terdefinisi") {if (window.dialogArguments && window.dialogArguments! = null) {window.opener = window.dialogarguments; if (window.opener && window.opener! = null) {window.opener.returnValue = vals; }}}} else {if (window.opener && window.opener! = null) {window.opener.returnValue = vals; }} window.ReturnValue = vals; self.close ();}Untuk nilai pengembalian yang diterima, Anda hanya perlu memeriksa pembuka dalam mode penerimaan IE asli, sebagai berikut:
// Pilih Ubah Fungsi Departemen SetRanGanizetree2 () {var url = "halaman popup"; var ret = window.showmodaldialog (url, window, "dialogWidth = 400px; dialogHeight = 500px; status = tidak; help = tidak; gulir = ya; dapat diputar ulang = ya;"); if (typeof (ret) == "tidak terdefinisi") {ret = window.returnValue; } if (ret) {document.getElementById ("hiddeptCode2"). value = ret; document.geteLementById ("btndeptcodeadd"). klik (); } return false; }Solusi Sempurna untuk Masalah Kompatibilitas Nilai Pengembalian Jendela Modal JS
1. Saat membuka jendela pop-up, lewati jendela sebagai parameter kedua.
var result = window.showmodaldialog (url, window, "dialogWidth =" + width + "px; dialogHeight =" + tinggi + "px; dapat diputar ulang: ya;") if (typeOf (hasil) == 'tidak terdefinisi') {result = window.returnValue; } hasil pengembalian;2. Di jendela pop-up, jalankan JS berikut untuk menerima jendela yang masuk
if (typeof (window.opener) == 'tidak terdefinisi') window.opener = window.dialogarguments;
3. Sebelum jendela pop-up ditutup, hubungi penugasan JS berikut untuk mengembalikan nilai
window.Returevalue = vals; if (window.opener && window.opener! = null) window.opener.returnValue = vals; window.close ();
Diskusi Prinsip:
Di bawah Chrome, metode standar dapat mengembalikan nilai ketika halaman pop-up tidak mempostingnya kembali. Jika ada postback, nilai pengembalian tidak dapat dikembalikan secara normal. Metode ini dapat diselesaikan.
Metode standar di bawah IE, kadang -kadang nilainya tidak dapat dikembalikan dengan benar karena alasan yang tidak diketahui, dan metode ini dapat diselesaikan.
FF belum diuji secara rinci, jadi seharusnya tidak ada masalah besar.
Solusi sempurna untuk masalah kompatibilitas pengembalian jendela modal JS di atas adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.