เนื่องจากระบบจะต้องเข้ากันได้กับวิธีการปิดระบบที่ใช้โดย IE ดั้งเดิมหลังจากการดีบักและการทดสอบ, window.dialogarguments ต้องทดสอบอีกครั้งมิฉะนั้นปัญหาอาจเกิดขึ้น
ฟังก์ชั่น okend (vals) {ถ้า (vals == null) vals = "true"; if (typeof (window.opener) == "undefined") {ถ้า (typeof (window.dialogarguments)! = "undefined") {ถ้า (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 ();}สำหรับค่าส่งคืนที่ได้รับคุณเพียงแค่ต้องตรวจสอบตัวเปิดในโหมดการรับ IE ดั้งเดิมดังต่อไปนี้:
// เลือกการเปลี่ยนแปลงฟังก์ชั่นแผนก SetOrganizEtree2 () {var url = "หน้าป๊อปอัป"; var ret = window.showModaldialog (URL, หน้าต่าง, "DialogWidth = 400px; dialogheight = 500px; status = no; help = no; scroll = ใช่ resizable = ใช่;"); if (typeof (ret) == "undefined") {ret = window.returnvalue; } if (ret) {document.getElementById ("hidDeptCode2"). value = ret; document.getElementById ("btndeptcodeadd") คลิก (); } return false; -ทางออกที่สมบูรณ์แบบสำหรับปัญหาความเข้ากันได้ของค่าส่งคืนหน้าต่าง JS Modal
1. เมื่อเปิดหน้าต่างป๊อปอัพให้ผ่านหน้าต่างเป็นพารามิเตอร์ที่สอง
var result = window.showModaldialog (url, window, "dialogwidth =" + width + "px; dialogheight =" + ความสูง + "px; resizable: ใช่;") ถ้า (typeof (ผลลัพธ์) == 'undefined') {result = window.returnvalue; } ผลตอบแทนผลลัพธ์;2. ในหน้าต่างป๊อปอัปดำเนินการ JS ต่อไปนี้เพื่อรับหน้าต่างขาเข้า
if (typeof (window.opener) == 'undefined') window.opener = window.dialogarguments;
3. ก่อนปิดหน้าต่างป๊อปอัพให้เรียกการกำหนด JS ต่อไปนี้เพื่อส่งคืนค่า
window.returevalue = vals; if (window.opener && window.opener! = null) window.opener.returnvalue = vals; window.close ();
การสนทนาหลักการ:
ภายใต้ Chrome วิธีมาตรฐานสามารถส่งคืนค่าเมื่อหน้าป๊อปอัพไม่ได้โพสต์กลับ หากมี postback ค่าส่งคืนไม่สามารถส่งคืนได้ตามปกติ วิธีนี้สามารถแก้ไขได้
วิธีการมาตรฐานภายใต้ IE บางครั้งค่าไม่สามารถส่งคืนได้อย่างถูกต้องด้วยเหตุผลที่ไม่ทราบสาเหตุและวิธีนี้สามารถแก้ไขได้
FF ยังไม่ได้รับการทดสอบในรายละเอียดดังนั้นจึงไม่ควรมีปัญหาใหญ่
ทางออกที่สมบูรณ์แบบสำหรับปัญหาความเข้ากันได้กับค่าการส่งคืนหน้าต่าง JS ข้างต้นคือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น