เมื่อออกแบบการไหลของกล่องโต้ตอบของ Firefox คุณวางแผนที่จะใช้กล่องโต้ตอบป๊อปอัพเพื่อเพิ่มหน้าและแก้ไขหน้า เมื่อการเพิ่มและการดัดแปลงเสร็จสิ้นให้คลิกส่งกล่องโต้ตอบเพื่อปิดจากนั้นรีเฟรชหน้าต่างรายการ ด้านล่างนี้เป็นบรรณาธิการของช่องเทคโนโลยีใหม่ที่ไม่ถูกต้องเพื่อสอนวิธีการเขียนกล่องโต้ตอบ Firefox ที่เหมาะสม ไปที่บทความต่อไปนี้เพื่อเรียนรู้เพิ่มเติม!
อย่างไรก็ตามปัญหาเกิดขึ้นระหว่างการดำเนินการจริง เทคโนโลยีกล่องโต้ตอบของ IE ไม่รองรับ Firefox เราจะบรรลุกล่องโต้ตอบที่รองรับทั้ง IE และ Firefox ได้อย่างไร
โชคดีที่ฉันกำลังศึกษา Tinymce เมื่อวานนี้และมีกล่องโต้ตอบที่สนับสนุน Firefox ให้เรียนรู้จาก
ฉันเขียนวิธีการเปิดกล่องโต้ตอบ:
ฟังก์ชั่น popupdialog (url, ความกว้าง, ความสูง) {
// showx = event.screenx - event.offsetx - 4 - 10; // + deltax; รหัสนี้ใช้ได้กับ IE เท่านั้นและไม่ได้ใช้อีกต่อไป
// showy = event.screeny - event.offsety -168; // + Deltay; รหัสนี้ใช้ได้กับ IE เท่านั้นและไม่ได้ใช้อีกต่อไป
var x = parseInt (screen.width/2.0) - (ความกว้าง/2.0);
var y = parseInt (หน้าจอฮิว / 2.0) - (ความสูง / 2.0);
var ismsie = (navigator.appname == "Microsoft Internet Explorer"); // ผู้พิพากษาเบราว์เซอร์
if (ismsie) {
retval = window.showmodaldialog (url, window, "dialogwidth:"+width+"px; dialogheight:"+ความสูง+"px; dialogleft:"+x+"px; dialogtop:"+y+"px; สถานะ: ไม่;
} อื่น {
var win = window.open (url, "mcepopup", "top =" + y + ", ซ้าย =" + x + ", scrollbars =" + scrollbars + ", dialog = ใช่ modal = ใช่, width =" + width + ", ความสูง =" ความสูง + ", resizable = no");
eval ('ลอง {win.resizeto (ความกว้าง, ความสูง);} catch (e) {}');
win.focus ();
-
-
ในกล่องโต้ตอบที่เปิดฉันใช้หน้าของส่วนบนและล่างของเฟรมเนื่องจากใน IE ไม่สามารถส่งกล่องโต้ตอบได้ แต่หลังจากแบ่งออกเป็นเฟรมแล้วสามารถส่งได้
บนปุ่มที่ส่งเพิ่มรหัสนี้:
ฟังก์ชั่น doreload () {
var ismsie = (navigator.appname == "Microsoft Internet Explorer");
if (ismsie) {
parent.dialogarguments.location.reload ();
}อื่น{
parent.opener.document.location.reload ();
-
top.close ();
-
วิธีที่เบราว์เซอร์สองกล่องเปิดกล่องโต้ตอบแตกต่างกัน
IE: Window.ShowModaldialog (URL, Window, "Dialogwidth: 300px; Dialogheight: 300px; Dialogleft: 200px; Dialogtop: 200px; สถานะ: ไม่; ไดเรกทอรี: ใช่;
Firefox: Window.Open (URL, "MCEPOPUP", "TOP = 200, ซ้าย = 200, ScrollBars = NO, DIALOG = YES, MODAL = YES, WIDTH = 300, ความสูง = 300, resizable = NO");
เมื่อปิดหน้าต่าง:
เช่น: parent.dialogarguments.location.reload ();
Firefox: parent.opener.document.location.reload ();
มีอีกประเด็นที่สำคัญมากที่จะให้ความสนใจ Firefox ดูเหมือนจะไม่รองรับ Window.close () ของกล่องโต้ตอบ
ดังนั้นการใช้งานครั้งสุดท้ายของหน้าต่างปิดคือ top.close (); ทั้งการสนับสนุน IE และ Firefox
ข้างต้นเป็นกล่องโต้ตอบที่สอนวิธีการเขียน Firefox ที่เหมาะสม สำหรับเนื้อหาเพิ่มเติมโปรดดำเนินการต่อเพื่อให้ความสนใจกับบทความอื่น ๆ ที่เกี่ยวข้องในช่องทางเทคโนโลยีใหม่ที่ไม่ถูกต้อง!