Чому Internet Explorer має стільки несумісностей з іншими браузерами?


10

Internet Explorer має низку фірмових функцій, які не зустрічаються в інших браузерах, а також ряд невідповідностей стандартам. Хтось має уявлення, що є причиною цих несумісностей?

Наприклад: я розробляю розширення для браузера, використовуючи рамку Crossrider . Розширення добре працює з усіма комбінаціями [Windows | Mac OS | Linux] та [Chrome | Firefox], але це не працює з IE, оскільки IE обробляє $(window).height()і $(window).scrollTop()трохи інакше.

Чи відомий ретельний аналіз цієї ситуації чи інтерв'ю з інсайдером, який би з'ясував причину? Це корпоративна культура, процес дизайну, недолік якості або якась жахлива невідома спадщина?


4
Найімовірніше відстала сумісність. IE - найстаріший з них.
Маной Р

20
Я б здогадався, що культура Microsoft не повинна дотримуватися загальновизнаних стандартів у спробі створити свої власні стандарти та власний маленький світ. Вони мають історію цього в усьому, від мережевих протоколів до середовищ розробки програмного забезпечення.
maple_shaft

16
@ManojR IE не найдавніший: en.wikipedia.org/wiki/History_of_the_web_browser
пауль


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 - це меч з двома острими. З одного боку, він створив функцію асинхронного запиту XML / HTTP, яка зробила можливим AJAX (та інші позитивні нововведення), які інші браузери швидко скопіювали. Але Microsoft також закінчує випуск версій IE, несумісних один з одним, таким чином кусаючи самих розробників, які найбільше зіграли в планах Microsoft.

Мій улюблений приклад несумісності IE для внутрішньої версії - власна кампанія Micrsoft IE6 Countdown, де вони заохочують людей не користуватися власним браузером. Теорія полягає в тому, що Microsoft може заохочувати людей перейти на більш нову версію IE, тоді як інші, хто кричить "IE6 Must Die", швидше заохочують користувачів використовувати іншу марку браузера замість IE.

Коротше кажучи, це досить вдала стратегія домінування на ринку від Microsoft, яка іноді шкодила, а іноді допомагала решті галузі. Для себе я намагаюся створити лише підтверджений, відповідний стандартам HTML, який тестується на останній версії будь-якого браузера з 2% або більше частки ринку (плюс останні 3 версії IE).


Microsoft та Internet Explorer є зареєстрованими торговими марками корпорації Microsoft у США та / або інших країнах.


2
Я б погодився з більшою частиною цього, якби ми говорили про IE6. Що з 9 і пізніше?
Біллі ONeal

11

Як завжди, питання є одним із стимулів. Якщо вам потрібно знати, чому щось насправді відбувається (на відміну від того, що люди заявляють, або хотіли б вірити), слідкуйте за грошима.

Уявіть ситуацію, коли у вас є зручна позиція на ринку за ключовою технологією (персональні обчислення). Цінність мережі значною мірою залежить від її розміру, тому ви хочете мати можливість охопити якомога більше користувачів своїми продуктами. Оскільки вони, ймовірно, вже використовують вашу систему, варто ввести нові функції та витратити зусилля лише на зворотну сумісність із вашими власними продуктами. Сумісність з продуктами конкурентів нижче в списку пріоритетів, оскільки вона не створює для себе стільки потенційного потенціалу; насправді це може коштувати вам дорого, якщо продукція конкурента стане достатньо сумісною, щоб хтось міг обійтися без вашої системи.

Зверніть увагу, що вам навіть не потрібно виставляти будь-якої свідомої злоби з боку розробників або управління тут. Робити свою власну справу та просувати свої власні протоколи, стандарти тощо, а не сприяти загальним, - це просто природна поведінка для домінуючого гравця, і, ймовірно, неминуча без дуже суворих правових заходів, яких загалом громадськість, очевидно, не бажає санкціонувати. Насправді, більшість того, що я чув і читав про мислення у Microsoft, змушує мене вірити, що більшість їх людей справді , чесно вважають, що їх продукція настільки чудова і вища, що лише нездійсненні недоброякісні матеріали хотіли б використовувати в першу чергу будь-що інше, і що вони зробили б їх лояльним клієнтам велику користь, якби вони витратили зусилля на взаємодію, а не на «інновацію» крутих новинок.

Заподіяння болю веб - розробникам , які дійсно повинні підтримувати різні продукти просто побічний ефект цього відносини. Нам здається дуже позивним і навіть злим для нас, але практикую, але я підозрюю, що багато хто з нас зайняли б таку ж позицію, якби столи магічно перевернули.


2

Причини IE, які викликають горе, є двома частинами, обидві вони дійсно випливають з того факту, що IE виграв першу війну з браузером. Раніше він був найкращим і найдосконалішим браузером, але вони довго сиділи в режимі очікування і зараз грають в доповнення, але вони мають величезний тягар тепер, коли інші браузери мають, тому що багато компаній інвестують мільйони у внутрішні сайти, які працюють лише на конкретна версія IE. МС покінчив би життя самогубством, якби вони не зробили перехід між версіями максимально вільним від болю. По-друге, тому, що вони виграли першу війну в браузері і наближалися до тотальної монополії, W3C активно писав стандарти, що суперечили існуючим функціоналам IE, намагаючись залишатися актуальними як орган стандартів, що стосується браузерів, і завдяки новішим браузерам, які слідували цим стандартам. працювали.


2
Чи можете ви підкріпити це друге твердження деякими підтверджуваними фактами?
Барт ван Інген Шенау

@Bart Я сумніваюсь, що насправді є власний член, який заявляє, що таке насправді існує, я вважаю, що модель коробки w3c є досить хорошим свідченням того, що вони робили це певною мірою.
Рятхал

2
У цьому випадку я б вагався, щоб приписувати навмисний намір на несумісність з W3C. Тоді може бути так само, що W3C подумав, що IE буде відповідати або що різниця буде досить невеликою, що IE може бути перетворений на стандарт досить легко.
Барт ван Іґен Шенау

1
@Bart, головний конкурент IE у першій війні за браузер, Netscape, не був значно більш сумісним із W3C. Лише в пізніших версіях Mozilla та ранніх Firefoxes був доступний досить відповідний браузер. Але ці браузери розміщують IE6 після дати.
Біллі ONeal

@BillyONeal: Дякую Це посилює мою переконання, що W3C не ставив собі забивати IE, якщо тільки вони не хотіли бити кожен браузер тієї епохи.
Барт ван Інген Шенау
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.