ความแตกต่างที่สำคัญระหว่าง JavaScript ใน IE และ JavaScript ในเบราว์เซอร์สมัยใหม่ (เช่น Firefox) อาจมาจากสาเหตุเดียวกันที่อยู่เบื้องหลังความแตกต่างของ CSS / (X) HTML cross-browser ย้อนกลับไปในวันนั้นไม่มีมาตรฐานโดยพฤตินัย IE / Netscape / Opera ต่อสู้กับสงครามสนามหญ้าโดยใช้ข้อกำหนดส่วนใหญ่ แต่ยังละเว้นบางอย่างรวมถึงการกำหนดคุณสมบัติเฉพาะเพื่อให้ได้เปรียบซึ่งกันและกัน ฉันสามารถพูดต่อไปได้ แต่ให้ข้ามไปที่การเปิดตัว IE8: JavaScript ถูกหลีกเลี่ยง / ดูถูกมาหลายปีและด้วยการเพิ่มขึ้นของ FF และการดูถูกของ webcomm IE เลือกที่จะมุ่งเน้นไปที่การพัฒนา CSS จาก IE6 เป็นส่วนใหญ่ และโดยพื้นฐานแล้วทิ้งการสนับสนุน DOM ไว้เบื้องหลัง การสนับสนุน DOM ของ IE8 อาจเป็นของ IE6 ซึ่งเปิดตัวในปี 2544 .... ดังนั้นการสนับสนุน DOM ของ IE จึงอยู่เบื้องหลังเบราว์เซอร์สมัยใหม่เกือบทศวรรษ หากคุณมีความคลาดเคลื่อนของ JavaScript โดยเฉพาะกับเลย์เอาต์เอ็นจิ้นคุณทางออกที่ดีที่สุดคือโจมตีด้วยวิธีเดียวกับที่เราแก้ไขปัญหา CSS กำหนดเป้าหมายเบราว์เซอร์นั้น อย่าใช้ BROWSER SNIFFING ให้ใช้การตรวจจับคุณสมบัติเพื่อดักจับเบราว์เซอร์ของคุณ / ระดับการรองรับ DOM
JScript ไม่ใช่การใช้งาน ECMAScript ของ IE เอง JScript เป็นคำตอบของ IE สำหรับ JavaScript ของ Netscape ซึ่งทั้งสองอย่างนี้เกิดขึ้นก่อน ECMAScript
สำหรับประเภทแอตทริบิวต์ในองค์ประกอบสคริปต์ type = "text / javascript" เป็นมาตรฐานเริ่มต้น (อย่างน้อยก็ใน HTML5) ดังนั้นคุณจึงไม่จำเป็นต้องมีแอตทริบิวต์ type เว้นแต่สคริปต์ของคุณจะไม่ใช่ JavaScript
เท่าที่ IE ไม่รองรับ innerHTML ... innerHTML ถูกคิดค้นโดย IE และทุกวันนี้ก็ยังไม่ใช่มาตรฐาน DOM เบราว์เซอร์อื่น ๆ ได้นำมาใช้เพราะมีประโยชน์ซึ่งเป็นเหตุผลที่คุณสามารถใช้งานข้ามเบราว์เซอร์ได้ สำหรับตารางที่มีการเปลี่ยนแปลงแบบไดนามิก MSDN กล่าวว่า "เนื่องจากโครงสร้างเฉพาะที่ตารางต้องการคุณสมบัติinnerTextและinnerHTMLของตารางและวัตถุ tr เป็นแบบอ่านอย่างเดียว" ฉันไม่รู้ว่าในตอนแรกนั้นเป็นจริงแค่ไหน แต่เห็นได้ชัดว่าเบราว์เซอร์สมัยใหม่ได้คิดออกในขณะที่จัดการกับความซับซ้อนของเค้าโครงตาราง
ฉันขอแนะนำให้อ่านPPK บน JavaScript DOM Scripting
ของ Jeremy Keith JavaScriptของ
Douglas Crockford : ส่วนที่ดี
และJavaScript เริ่มต้นของ Christian Hellman ด้วย DOM Scripting และ Ajaxเพื่อให้เข้าใจ JavaScript อย่างชัดเจน
เท่าที่เกี่ยวข้องกับ Frameworks / Libraries หากคุณยังไม่เข้าใจ JavaScript อย่างชัดเจนคุณควรหลีกเลี่ยง 2 ปีที่แล้วฉันตกอยู่ในกับดัก jQuery และในขณะที่ฉันสามารถดึงเอาความสามารถที่ยอดเยี่ยมออกมาได้ แต่ฉันก็ไม่เคยเรียนรู้อะไรเกี่ยวกับการเข้ารหัส JavaScript อย่างถูกต้อง ในการมองย้อนกลับไป jQuery เป็น DOM Toolkit ที่น่ากลัว แต่ความล้มเหลวของฉันในการเรียนรู้การปิดที่เหมาะสมการสืบทอดต้นแบบ ฯลฯ ไม่เพียง แต่ทำให้ความรู้ส่วนตัวของฉันกลับมางานของฉันเริ่มได้รับความนิยมอย่างมากเพราะฉันไม่มีเงื่อนงำอะไรเลย
JavaScript เป็นภาษาของเบราว์เซอร์ หากคุณเป็นวิศวกรฝั่งไคลเอ็นต์ / ฟรอนต์เอนด์สิ่งสำคัญที่สุดคือคุณต้องสั่ง JavaScript Node.js นำ JavaScript แบบเต็มเอียงฉันเห็นความก้าวหน้าครั้งใหญ่ในการพัฒนาทุกวัน JavaScript ฝั่งเซิร์ฟเวอร์จะเป็นมาตรฐานในอนาคตอันใกล้นี้ ฉันกำลังพูดถึงสิ่งนี้เพื่อเน้นย้ำถึงความสำคัญของ JavaScript ในตอนนี้และจะเป็นอย่างไร
JavaScript จะสร้าง wave ได้มากกว่า Rails
Happy Scripting!