นี่คือสิ่งที่ฉันพบระหว่างการพัฒนา:
1. ลบแถวในตารางแบบไดนามิก
ตาราง: หมายถึงวัตถุตาราง
k: หมายถึงหมายเลขบรรทัด
table.rows[k].removeNode(true); //การดำเนินการของ Firefox ล้มเหลว เช่น การดำเนินการสำเร็จ
วิธีการเขียนที่เข้ากันได้กับ IE และ FireFox
ตาราง.deleteRow(k);
2. ปรับแต่งแอตทริบิวต์สำหรับแท็ก HTML
inputElement: หมายถึงองค์ประกอบของแบบฟอร์ม
propertyName: แสดงถึงคุณสมบัติภายใต้องค์ประกอบแบบฟอร์ม
inputElement.propertyName; //การดำเนินการของ Firefox ล้มเหลว เช่น การดำเนินการสำเร็จ
วิธีการเขียนที่เข้ากันได้กับ IE และ FireFox
document.getElementById("txtInput").attributes["idvalue"].nodeValue
3. แทรกองค์ประกอบ HTML ในตำแหน่งที่ระบุ
inputElement: หมายถึงองค์ประกอบของแบบฟอร์ม
vDiv: แสดงถึงองค์ประกอบ HTML ที่จะแทรก
inputElement.insertAdjacentElement("AfterEnd",vDiv);//การดำเนินการของ Firefox ล้มเหลว เช่น การดำเนินการสำเร็จ
วิธีการเขียนที่เข้ากันได้กับ IE และ FireFox
ใน Firefox ไม่มีคำจำกัดความของวิธีนี้ ดังนั้นหากคุณต้องการเรียกใช้วิธีนี้ คุณจะต้องกำหนดใหม่ด้วยตนเอง
คัดลอกรหัสรหัสดังต่อไปนี้:
//เขียนเมธอด insertAdjacentElement() ใหม่ เนื่องจากไม่มีเมธอดดังกล่าวใน Firefox
HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){
สวิตช์ (ที่ไหน) {
กรณี "beforeBegin":
this.parentNode.insertBefore (parsedNode นี้);
หยุดพัก;
กรณี "หลังเริ่มต้น":
this.insertBefore (parsedNode, this.firstChild);
หยุดพัก;
กรณี "ก่อนสิ้นสุด":
this.appendChild(parsedNode);
หยุดพัก;
กรณี "หลังสิ้นสุด":
ถ้า(this.nextพี่น้อง)
this.parentNode.insertBefore (parsedNode, this.nextSibling);
อื่น
this.parentNode.appendChild (parsedNode);
หยุดพัก;
-
-
4. คำสั่งแบ่งไม่ถูกต้อง
เมื่อดำเนินการคำสั่ง for loop ใน IE สามารถใช้ตัวแบ่งเพื่อข้ามออกจากลูปปัจจุบันได้ แต่ใน FF มันจะกลายเป็นการออกจากลูปทั้งหมด ในตอนนี้ ให้ใช้คำสั่ง Continue แทน
5. Firefox รายงานว่า String มีอักขระที่ไม่ถูกต้อง
var chkBox=document.createElement('<input type="Checkbox" name="treeBox" value= '+key+''>'); // ดำเนินการสำเร็จภายใต้ IE
วิธีการเขียนที่เข้ากันได้กับ IE และ FireFox
Firefox ไม่รองรับการกำหนด createElement ในลักษณะนี้ และจำเป็นต้องดำเนินการทีละขั้นตอน:
คัดลอกรหัสรหัสดังต่อไปนี้:
var chkBox = document.createElement('อินพุต');
chkBox.name = "treeBox";
chkBox.type = "ช่องทำเครื่องหมาย";
chkBox.value = คีย์;
6. คอลเลกชันของวัตถุตาราง (แถวตาราง)
bdList.rows(k).cells(0).innerHTML = "<a>aaa</a>";//การดำเนินการของ firefox ล้มเหลว กล่าวคือ การดำเนินการสำเร็จ
วิธีการเขียนที่เข้ากันได้กับ IE และ FireFox
คัดลอกรหัสรหัสดังต่อไปนี้:
bdList.rows[k].cells[0].innerHTML = "<a>aaa</a>";
7. ปัญหากับเมธอด getYear() ของ JS ใน Firefox
var วันนี้ = วันที่ใหม่ ();
var year = today.getYear();
ใน Firefox getYear ส่งกลับค่าของ "ปีปัจจุบัน-1900" ใน IE:
เมื่อวันนี้น้อยกว่าปี 2000 มันก็เหมือนกับ Firefox ดังนั้นจึงเป็นการดีที่สุดที่จะใช้ getFullYear getUTCFulYear เพื่อโทร
วิธีการเขียนที่เข้ากันได้กับ IE และ FireFox
คัดลอกรหัสรหัสดังต่อไปนี้:
var วันนี้ = วันที่ใหม่ ();
var year = today.getFullYear();