Tại sao Internet Explorer có quá nhiều sự không tương thích với các trình duyệt khác?


10

Internet Explorer có một số tính năng độc quyền không có trong các trình duyệt khác cũng như một số tính không tương thích với các tiêu chuẩn. Có ai có ý tưởng nguyên nhân của những sự không tương thích đó là gì không?

Ví dụ: Tôi phát triển tiện ích mở rộng trình duyệt bằng khung Crossrider . Tiện ích mở rộng hoạt động tốt với tất cả các kết hợp [Windows | Hệ điều hành Mac | Linux] và [Chrome | Firefox] nhưng nó không hoạt động với IE vì IE xử lý $(window).height()$(window).scrollTop()hơi khác một chút.

Có một phân tích kỹ lưỡng được biết đến về tình huống đó, hoặc một cuộc phỏng vấn với một người trong cuộc sẽ làm rõ nguyên nhân? Đó có phải là văn hóa doanh nghiệp, quá trình thiết kế, một lỗ hổng QA, hoặc một số di sản chưa biết kinh khủng?


4
Hầu hết có lẽ tương thích ngược. IE là lâu đời nhất trong số họ.
Manoj R

20
Tôi đoán đó là văn hóa tại Microsoft không tuân theo các tiêu chuẩn được chấp nhận phổ biến trong nỗ lực tạo ra các tiêu chuẩn của riêng họ và thế giới nhỏ bé của riêng họ. Họ có một lịch sử làm việc này trong mọi thứ, từ giao thức mạng đến môi trường phát triển phần mềm.
maple_shaft

16
@ManojR IE không phải là bản cũ nhất: en.wikipedia.org/wiki/History_of_the_web_browser
paul

14

10
Tuyệt quá. Tôi dành 15 phút để giải thích về cách MS chọn đưa nỗ lực của họ với IE vào tích hợp hệ điều hành chặt chẽ thông qua ActiveX, thay vì R & D trong CSS / HTML / JS, chỉ để tìm câu hỏi đóng khi tôi quay lại dán vào Magnum Opus của mình: (
Graham

Câu trả lời:


23

Tại sao Microsoft® Internet Explorer® không tương thích với các trình duyệt khác và các tiêu chuẩn được công bố?

  1. Để thêm các tính năng mà các trình duyệt khác không có
  2. Khi lập trình viên viết các trang web sử dụng các tính năng chỉ dành cho IE, mã sẽ không hoạt động trên các trình duyệt khác. Điều này khuyến khích người dùng cuối xem các trang web đó trong IE (và do đó nhiều người sử dụng IE hơn và vì nó chỉ chạy trên Windows, nên nhiều người sử dụng Windows hơn).
  3. Các công cụ của Microsoft (FrontPage nổi tiếng nhất về điều này) có xu hướng tạo mã chỉ hoạt động trên IE hoặc hoạt động tốt nhất trên IE. Mặc dù điều này thúc đẩy # 2 ở trên, nhưng nó xứng đáng là viên đạn của riêng mình bởi vì nhà phát triển tiếp theo làm việc trên trang web hoặc ứng dụng web đó hiện phải sử dụng cùng các công nghệ của Microsoft được sử dụng để sản xuất nó hoặc phải viết lại toàn bộ dự án trong một công nghệ khác nhau.

Mạng nội bộ của công ty đặc biệt dễ bị tổn thương bởi chiến lược này vì chúng cung cấp một môi trường nơi tất cả người dùng ở trên cùng một trình duyệt (cho đến khi có phiên bản mới xuất hiện). Ngoài ra, nếu một trang web không phải là khách hàng phải đối mặt, sẽ không có ngân sách cho chi phí nhỏ để hỗ trợ nhiều trình duyệt. Theo thời gian, các trang web mạng nội bộ cũ tại một công ty ngăn không cho toàn bộ công ty từ bỏ IE (hoặc thậm chí là một phiên bản cụ thể của IE) cho một trình duyệt khác.

Cách tiếp cận của Microsoft là con dao hai lưỡi. Một mặt, nó đã tạo ra chức năng yêu cầu không đồng bộ XML / HTTP, điều này giúp AJAX có thể (và các cải tiến tích cực khác) mà các trình duyệt khác nhanh chóng sao chép. Nhưng Microsoft cũng kết thúc việc sản xuất các phiên bản IE không tương thích với nhau, do đó cắn chính các nhà phát triển đã chơi nhiều nhất trong các kế hoạch của Microsoft.

Ví dụ yêu thích của tôi về tính không tương thích IE trong phiên bản là chiến dịch đếm ngược IE6 của Micrsoft nơi họ khuyến khích mọi người không sử dụng trình duyệt của riêng họ. Giả thuyết cho rằng Microsoft có thể khuyến khích mọi người nâng cấp lên phiên bản IE mới hơn, trong khi những người khác hét lên "IE6 Must Die" có nhiều khả năng khuyến khích người dùng sử dụng một thương hiệu trình duyệt khác thay vì IE.

Nói tóm lại, đó là một chiến lược chiếm lĩnh thị trường khá thành công của Microsoft, điều này đôi khi gây tổn hại và đôi khi giúp ích cho phần còn lại của ngành công nghiệp. Đối với bản thân tôi, tôi cố gắng chỉ sản xuất HTML tuân thủ tiêu chuẩn đã được xác thực, được thử nghiệm trên phiên bản mới nhất của bất kỳ trình duyệt nào có thị phần 2% trở lên (cộng với 3 phiên bản IE mới nhất).


Microsoft và Internet Explorer là các nhãn hiệu đã đăng ký của tập đoàn Microsoft tại Hoa Kỳ và / hoặc các quốc gia khác.


2
Tôi sẽ đồng ý với hầu hết điều này nếu chúng ta đang nói về IE6. Còn 9 và sau này thì sao?
Billy ONeal

11

Như thường lệ, câu hỏi là một trong những ưu đãi. Nếu bạn cần biết lý do tại sao một cái gì đó thực sự xảy ra (trái ngược với những gì mọi người yêu cầu, hoặc muốn tin), hãy làm theo tiền.

Hãy tưởng tượng tình huống mà bạn có một vị trí thị trường thoải mái trong một công nghệ chính (điện toán cá nhân). Giá trị của các mạng là ở một mức độ lớn về kích thước của nó, vì vậy bạn muốn có thể tiếp cận càng nhiều người dùng càng tốt với các sản phẩm của mình. Vì rất có thể họ đã sử dụng hệ thống của bạn, nên đáng để giới thiệu các tính năng mới và chỉ dành nỗ lực cho khả năng tương thích ngược với các sản phẩm của riêng bạn. Khả năng tương thích với các sản phẩm của đối thủ cạnh tranh thấp hơn trong danh sách ưu tiên, vì nó không tạo ra nhiều tiềm năng giá trị cho chính bạn; thực tế, nó có thể khiến bạn phải trả giá nếu các sản phẩm của đối thủ cạnh tranh đủ khả năng để ai đó có thể làm mà không cần hệ thống của bạn hoàn toàn.

Lưu ý rằng bạn thậm chí không cần đặt ra bất kỳ ác ý có ý thức nào đối với các nhà phát triển hoặc quản lý ở đây. Làm việc của riêng bạn và thúc đẩy các giao thức, tiêu chuẩn của riêng bạn, v.v. chứ không phải đóng góp cho những người nói chung chỉ đơn giản là hành vi tự nhiên đối với người chơi thống trị, và có lẽ không thể tránh khỏi nếu không có các biện pháp pháp lý nghiêm ngặt mà công chúng nói chung dường như không sẵn sàng cho phép. Trên thực tế, hầu hết những gì tôi đã nghe và đọc về suy nghĩ tại Microsoft đều khiến tôi tin rằng hầu hết mọi người của họ thực sự , trung thực nghĩ rằng các sản phẩm của họ rất tuyệt vời và vượt trội đến nỗi chỉ những người làm việc không có khả năng mới muốn sử dụng bất cứ thứ gì khác ngay từ đầu, và họ sẽ làm cho khách hàng trung thành của họ trở thành một sự bất đồng lớn nếu họ nỗ lực vào khả năng tương tác thay vì 'đổi mới' những thứ mới mẻ.

Gây đau các nhà phát triển web, người ta phải hỗ trợ sản phẩm khác nhau chỉ đơn giản là một tác dụng phụ của thái độ này. Nó có vẻ rất nhẫn tâm và thậm chí là xấu xa đối với các học viên bên ngoài, nhưng tôi nghi ngờ rằng nhiều người trong chúng ta sẽ có lập trường tương tự nếu các bàn bị đảo ngược một cách kỳ diệu.


2

Nguyên nhân khiến IE đau buồn là một vấn đề gồm 2 phần, cả hai đều thực sự xuất phát từ thực tế IE đã chiến thắng trong cuộc chiến trình duyệt đầu tiên. Nó từng là trình duyệt tốt nhất và tiên tiến nhất, nhưng họ đã nhàn rỗi trong một thời gian dài và hiện đang chơi trò đuổi bắt, nhưng họ có một gánh nặng di sản lớn mà các trình duyệt khác có, bởi vì nhiều công ty đã đầu tư vào hàng triệu trang web nội bộ chỉ hoạt động trên một phiên bản cụ thể của IE. MS sẽ tự sát nếu họ không thực hiện chuyển đổi giữa các phiên bản càng ít càng tốt. Thứ hai bởi vì họ đã chiến thắng trong cuộc chiến trình duyệt đầu tiên và đang tiến tới sự độc quyền hoàn toàn, W3C đã chủ động viết các tiêu chuẩn mâu thuẫn với chức năng IE hiện tại để cố gắng duy trì liên quan như một cơ quan tiêu chuẩn và nhờ các trình duyệt mới hơn tuân theo các tiêu chuẩn đó. đã làm việc.


2
Bạn có thể trở lại khẳng định thứ hai với một số sự kiện có thể kiểm chứng?
Bart van Ingen Schenau

@Bart Tôi nghi ngờ bất cứ điều gì như một thành viên thực tế nói rằng thực sự tồn tại, tôi tin rằng mô hình hộp w3c là bằng chứng khá tốt rằng họ đã làm điều này ở một mức độ nào đó.
Ryathal

2
Trong trường hợp đó, tôi sẽ ngần ngại đưa ra ý định cố ý không tương thích với W3C. Sau đó, W3C cũng có thể nghĩ rằng IE sẽ tuân thủ hoặc sự khác biệt đó đủ nhỏ để IE có thể được chuyển đổi thành tiêu chuẩn đủ dễ dàng.
Bart van Ingen Schenau

1
@Bart, đối thủ cạnh tranh chính của IE trong cuộc chiến trình duyệt đầu tiên, Netscape, không phù hợp hơn với W3C. Mãi đến các phiên bản sau của Mozilla và Firefox đầu tiên, một trình duyệt phù hợp hợp lý đã có sẵn. Nhưng những trình duyệt sau ngày IE6.
Billy ONeal

@BillyONeal: Cảm ơn. Điều đó củng cố niềm tin của tôi rằng W3C đã không bắt đầu bash IE, trừ khi họ muốn bash mọi trình duyệt trong thời đại đó.
Bart van Ingen Schenau
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.