เหตุใด Internet Explorer จึงมีความไม่เข้ากันมากมายกับเบราว์เซอร์อื่น


10

Internet Explorer มีคุณสมบัติที่เป็นกรรมสิทธิ์จำนวนหนึ่งซึ่งไม่พบในเบราว์เซอร์อื่น ๆ รวมถึงความเข้ากันไม่ได้กับมาตรฐาน ใครบ้างมีความคิดว่าอะไรคือสาเหตุของความไม่ลงรอยกันเหล่านั้น?

ตัวอย่างเช่น: ฉันพัฒนาส่วนขยายเบราว์เซอร์โดยใช้เฟรมเวิร์กCrossrider ส่วนขยายทำงานได้ดีกับการรวมกันทั้งหมดของ [Windows | Mac OS | Linux] และ [Chrome | Firefox] แต่มันไม่ทำงานกับ IE เพราะ IE จัดการ$(window).height()และ$(window).scrollTop()แตกต่างกันเล็กน้อย

มีการวิเคราะห์อย่างละเอียดเกี่ยวกับสถานการณ์นั้นหรือการสัมภาษณ์กับคนในวงที่จะอธิบายสาเหตุหรือไม่? มันเป็นวัฒนธรรมองค์กร, ขั้นตอนการออกแบบ, ข้อบกพร่อง QA หรือมรดกที่ไม่รู้จักน่ากลัวบ้างไหม?


4
ส่วนใหญ่อาจเข้ากันได้ย้อนหลัง IE เป็นรุ่นเก่าที่สุดของทั้งหมด
Manoj R

20
ฉันเดาว่านี่เป็นวัฒนธรรมของ Microsoft ที่จะไม่ปฏิบัติตามมาตรฐานที่ยอมรับกันโดยทั่วไปในความพยายามที่จะสร้างมาตรฐานของตนเองและโลกเล็ก ๆ ของพวกเขาเอง พวกเขามีประวัติการทำสิ่งนี้ในทุกสิ่งตั้งแต่โปรโตคอลเครือข่ายไปจนถึงสภาพแวดล้อมการพัฒนาซอฟต์แวร์
maple_shaft

16
@ManojR IE ไม่ใช่เก่าที่สุด: en.wikipedia.org/wiki/History_of_the_web_browser
paul

14
คำหลักคืออ้อมกอดขยายและเพลิง
เอสเอฟ

10
ยิ่งใหญ่ ฉันใช้เวลา 15 นาทีในการพิมพ์คำอธิบายวิธีที่ MS เลือกใช้ความพยายามกับ IE ในการรวมระบบปฏิบัติการอย่างแน่นหนาผ่าน ActiveX แทนที่จะเป็น R&D ใน CSS / HTML / JS เพียงเพื่อค้นหาคำถามที่ปิดเมื่อฉันกลับไปวางใน Magnum Opus ของฉัน: (
เกรแฮม

คำตอบ:


23

เหตุใดMicrosoft® Internet Explorer®จึงไม่สามารถทำงานร่วมกับเบราว์เซอร์อื่นและมาตรฐานที่เผยแพร่ได้

  1. เพื่อเพิ่มคุณสมบัติที่เบราว์เซอร์อื่นไม่มี
  2. เมื่อโปรแกรมเมอร์เขียนหน้าเว็บที่ใช้คุณสมบัติ IE เท่านั้นรหัสจะไม่ทำงานบนเบราว์เซอร์อื่น สิ่งนี้กระตุ้นให้ผู้ใช้ปลายทางดูเว็บไซต์เหล่านั้นใน IE (และทำให้มีผู้ใช้ IE มากขึ้นและเนื่องจากมันทำงานบน Windows เท่านั้นจึงทำให้มีผู้ใช้ Windows เพิ่มขึ้น)
  3. เครื่องมือของ Microsoft (FrontPage มีชื่อเสียงมากที่สุดในเรื่องนี้) มักจะผลิตโค้ดที่ใช้งานได้กับ IE เท่านั้นหรือทำงานได้ดีที่สุดบน IE แม้ว่าสิ่งนี้จะสนับสนุน # 2 ด้านบน แต่ก็สมควรได้รับสัญลักษณ์แสดงหัวข้อย่อยของตนเองเนื่องจากผู้พัฒนารายต่อไปที่ทำงานบนเว็บไซต์หรือเว็บแอปพลิเคชันนั้นจะต้องใช้เทคโนโลยี Microsoft เดียวกันกับที่เคยใช้สร้างขึ้นมาใหม่ เทคโนโลยีที่แตกต่าง

อินทราเน็ตขององค์กรมีความเสี่ยงต่อกลยุทธ์นี้โดยเฉพาะเนื่องจากพวกเขามีสภาพแวดล้อมที่ผู้ใช้ทั้งหมดอยู่ในเบราว์เซอร์เดียวกัน (จนกว่าจะมีเวอร์ชันใหม่ออกมา) นอกจากนี้หากเว็บไซต์ไม่ได้หันหน้าเข้าหาลูกค้าก็จะไม่มีงบประมาณแม้แต่ค่าใช้จ่ายเล็กน้อยในการรองรับเบราว์เซอร์หลายตัว เมื่อเวลาผ่านไปไซต์อินทราเน็ตดั้งเดิมที่ บริษัท หนึ่ง ๆ จะป้องกันไม่ให้ทั้ง บริษัท ละทิ้ง IE (หรือแม้แต่รุ่นที่เฉพาะเจาะจงของ IE) สำหรับเบราว์เซอร์อื่น

แนวทางของ Microsoft คือดาบสองคม ในอีกด้านหนึ่งก็มีการผลิตฟังก์ชั่นคำขอ Asynchronous XML / HTTP ซึ่งทำให้ AJAX เป็นไปได้ (และนวัตกรรมเชิงบวกอื่น ๆ ) ซึ่งเบราว์เซอร์อื่น ๆ คัดลอกอย่างรวดเร็ว แต่ Microsoft ก็จบลงด้วยการผลิต IE เวอร์ชันที่เข้ากันไม่ได้ดังนั้นจึงกัดนักพัฒนาที่เล่นมากที่สุดในแผนการของ Microsoft

ตัวอย่างที่ฉันชอบเกี่ยวกับความเข้ากันไม่ได้ของ IE ภายในรุ่นคือแคมเปญนับถอยหลัง IE6ของ Micrsoft ที่พวกเขาสนับสนุนให้คนไม่ใช้เบราว์เซอร์ของตัวเอง ทฤษฎีที่ว่า Microsoft สามารถกระตุ้นให้ผู้คนอัพเกรดเป็น IE เวอร์ชันที่ใหม่กว่าในขณะที่คนอื่น ๆ ที่ตะโกน "IE6 Must Die" มีแนวโน้มที่จะกระตุ้นให้ผู้ใช้ใช้เบราว์เซอร์ยี่ห้ออื่นแทน IE

กล่าวโดยสรุปก็คือกลยุทธ์การครอบงำตลาดที่ประสบความสำเร็จโดย Microsoft ซึ่งบางครั้งได้รับบาดเจ็บและบางครั้งก็ช่วยให้ส่วนที่เหลือของอุตสาหกรรม สำหรับตัวฉันเองฉันพยายามผลิต HTML ที่ได้มาตรฐานที่ผ่านการตรวจสอบและผ่านการทดสอบบนเบราว์เซอร์เวอร์ชันล่าสุดที่มีส่วนแบ่งการตลาด 2% ขึ้นไป (รวมทั้ง IE เวอร์ชัน 3 ล่าสุด)


Microsoft และ Internet Explorer เป็นเครื่องหมายการค้าจดทะเบียนของ Microsoft corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ


2
ฉันจะเห็นด้วยกับสิ่งนี้มากที่สุดถ้าเราพูดถึง IE6 แล้วประมาณ 9 และต่อมาล่ะ?
Billy ONeal

11

ตามปกติแล้วคำถามคือสิ่งจูงใจอย่างหนึ่ง หากคุณจำเป็นต้องรู้ว่าทำไมบางสิ่งบางอย่างเกิดขึ้นจริง (ตรงกันข้ามกับสิ่งที่ผู้คนเรียกร้องหรืออยากจะเชื่อ) ทำตามเงิน

ลองนึกภาพสถานการณ์ที่คุณมีตำแหน่งทางการตลาดที่สะดวกสบายในเทคโนโลยีสำคัญ (การประมวลผลส่วนบุคคล) มูลค่าของเครือข่ายมีขนาดใหญ่มากดังนั้นคุณจึงต้องการเข้าถึงผู้ใช้ให้มากที่สุดเท่าที่จะเป็นไปได้กับผลิตภัณฑ์ของคุณ เนื่องจากพวกเขาอาจใช้ระบบของคุณอยู่แล้วจึงคุ้มค่าที่จะแนะนำคุณสมบัติใหม่ ๆ และใช้ความพยายามเฉพาะในการใช้งานร่วมกับผลิตภัณฑ์ของคุณได้ ความเข้ากันได้กับผลิตภัณฑ์ของคู่แข่งนั้นต่ำกว่าในรายการลำดับความสำคัญเนื่องจากมันไม่ได้สร้างศักยภาพที่คุ้มค่ามากสำหรับตัวคุณเอง ในความเป็นจริงมันอาจทำให้คุณเสียค่าใช้จ่ายหากผลิตภัณฑ์ของคู่แข่งทำงานร่วมกันได้มากพอที่ใครบางคนสามารถทำได้โดยไม่มีระบบของคุณ

โปรดทราบว่าคุณไม่จำเป็นต้องมีแม้แต่ความอาฆาตพยาบาทในส่วนของนักพัฒนาหรือผู้บริหารที่นี่ การทำสิ่งต่าง ๆ ของคุณเองและส่งเสริมโปรโตคอลมาตรฐานของคุณเองมากกว่าการมีส่วนร่วมกับคนทั่วไปนั้นเป็นเพียงพฤติกรรมตามธรรมชาติสำหรับผู้เล่นที่โดดเด่นและอาจหลีกเลี่ยงไม่ได้หากไม่มีมาตรการทางกฎหมายที่เข้มงวดมากซึ่งประชาชนทั่วไปไม่เห็นด้วย ในความเป็นจริงสิ่งที่ฉันได้ยินและอ่านเกี่ยวกับความคิดที่ Microsoft ส่วนใหญ่ทำให้ฉันเชื่อว่าคนส่วนใหญ่ของพวกเขาอย่างแท้จริงและตรงไปตรงมา คิดว่าผลิตภัณฑ์ของพวกเขานั้นยอดเยี่ยมมากและเหนือกว่าที่ผู้ไม่ประสงค์ดีเพียงคนเดียวต้องการใช้สิ่งอื่นในตอนแรกและพวกเขาจะทำให้ลูกค้าที่ภักดีของพวกเขาได้รับความเสียหายอย่างมากหากพวกเขาใช้ความพยายามในการทำงานร่วมกันมากกว่า

ทำให้เกิดอาการปวดที่จะพัฒนาเว็บที่ไม่ได้ให้การสนับสนุนผลิตภัณฑ์ที่แตกต่างเป็นเพียงผลข้างเคียงของทัศนคติแบบนี้ ดูเหมือนว่าใจแข็งและแม้แต่ความชั่วร้ายต่อผู้ปฏิบัติงานภายนอก แต่ฉันสงสัยว่าพวกเราหลายคนจะใช้ท่าทางเดียวกันถ้าตารางถูกกลับด้านอย่างน่าอัศจรรย์


2

สาเหตุที่ทำให้ IE เศร้าโศกเป็นปัญหา 2 ส่วนซึ่งทั้งสองอย่างนั้นเกิดจากการที่ IE ชนะสงครามเบราว์เซอร์ครั้งแรก มันเคยเป็นเบราว์เซอร์ที่ดีที่สุดและทันสมัยที่สุด แต่พวกเขาไม่ได้ใช้งานเป็นเวลานานและตอนนี้กำลังเล่นกับ catchup แต่พวกเขามีภาระใหญ่หลวงในขณะนี้เบราว์เซอร์อื่นมีเพราะหลาย ๆ บริษัท มีการลงทุนหลายล้านครั้งในเว็บไซต์ภายใน IE เวอร์ชันที่เจาะจง MS จะฆ่าตัวตายหากพวกเขาไม่ได้ทำการเปลี่ยนระหว่างเวอร์ชันที่ปราศจากความเจ็บปวดมากที่สุด ข้อที่สองเพราะพวกเขาชนะสงครามเบราว์เซอร์ครั้งแรกและกำลังเข้าใกล้การผูกขาดโดยสมบูรณ์ W3C ได้เขียนมาตรฐานที่ขัดแย้งกับการทำงานของ IE ที่มีอยู่ในความพยายามที่จะรักษาความสัมพันธ์กับมาตรฐานของเบราว์เซอร์และเบราว์เซอร์ใหม่ ทำงาน


2
คุณช่วยยืนยันคำยืนยันที่สองนั้นด้วยข้อเท็จจริงที่ตรวจสอบได้บ้างไหม?
Bart van Ingen Schenau

@Bart ฉันสงสัยว่ามีอะไรเหมือนสมาชิกจริงที่ระบุเช่นนั้นจริง ๆ แล้วฉันเชื่อว่ารูปแบบกล่อง w3c เป็นหลักฐานที่ดีมากที่พวกเขาทำสิ่งนี้ในระดับหนึ่ง
Ryathal

2
ในกรณีนี้ฉันจะลังเลที่จะกำหนดเจตนาโดยเจตนาสำหรับความไม่ลงรอยกันใน W3C จากนั้นก็อาจเป็นไปได้ว่า W3C คิดว่า IE จะสอดคล้องหรือว่าความแตกต่างนั้นเล็กพอที่ IE จะสามารถแปลงเป็นมาตรฐานได้ง่ายพอ
Bart van Ingen Schenau

1
@Bart ซึ่งเป็นคู่แข่งหลักของ IE ในสงครามเบราว์เซอร์ครั้งแรก Netscape ไม่สอดคล้องกับ W3C มากขึ้น มันไม่ได้จนกว่า Mozilla รุ่นใหม่กว่าและ Firefox รุ่นแรกที่มีเบราว์เซอร์ที่ใช้งานได้ตามสมควร แต่เบราว์เซอร์เหล่านั้นลงวันที่ IE6
Billy ONeal

@BillyONeal: ขอบคุณ นั่นทำให้ความเชื่อของฉันแข็งแกร่งขึ้นว่า W3C ไม่ได้กำหนดไว้เพื่อทุบตี IE เว้นแต่ว่าพวกเขาต้องการทุบตีเบราว์เซอร์ทุกยุคนั้น
Bart van Ingen Schenau
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.