Не стесняйтесь обновлять этот список, если вы видите какие-либо ошибки / упущения и т. Д.
Примечание: IE9 исправляет многие из следующих проблем, поэтому многое из этого относится только к IE8 и ниже, а также к некоторым экстент IE9 в режиме причуд. Например, IE9 изначально поддерживает SVG,
,
и
, однако вы должны включить режим соответствия стандартам , чтобы они были доступны.
Проблемы с частично загруженными документами: Рекомендуется добавить свой JavaScript в window.onload
или подобное событие, поскольку IE не поддерживает многие операции в частично загруженных документы.
Различные атрибуты : в CSS это elm.style.styleFloat
в IE по сравнению с elm.style.cssFloat
в Firefox. В тегах
доступ к атрибуту for
осуществляется с помощью elm.htmlFor
в IE по сравнению с elm.for
в Firefox. Обратите внимание, что для
зарезервировано в IE, поэтому elm ['for']
, вероятно, является лучшей идеей, чтобы запретить IE создавать исключение.
Символы доступа в строках : 'строка' [0]
не поддерживается в IE, как и в исходных спецификациях JavaScript. Используйте 'string'.charAt (0)
или ' string'.split ('') [0]
, учитывая, что доступ к элементам в массивах значительно быстрее, чем при использовании charAt
со строками в IE (хотя есть некоторые начальные накладные расходы при первом вызове split
.)
Запятые перед концом объектов: например. {'foo': 'bar',}
нельзя использовать в IE.
Получение документа
IFrame :
IFrame.contentDocument
(IE начал поддерживать это ] из версии 8 .) IFrame.contentWindow.document
IFrame.contentWindow
относится к окну
в обоих браузерах.) Canvas: Версии IE до IE9 не поддерживают элемент
. IE поддерживает VML , который, однако, является аналогичной технологией, а explorercanvas может предоставить локальную оболочку для элементов
для многих операций. Имейте в виду, что IE8 в режиме соответствия стандартам работает во много раз медленнее и имеет гораздо больше сбоев, чем в режиме совместимости при использовании VML.
SVG: IE9 изначально поддерживает SVG. IE6-8 может поддерживать SVG, но только с внешними плагинами , и только некоторые из этих плагинов поддерживают манипуляции с JavaScript.
и
: поддерживаются только в IE9.
Динамическое создание переключателей: IE <8 содержит ошибку, из-за которой переключатели, созданные с помощью document.createElement
, не устанавливаются. См. Также Как динамически создать переключатель в Javascript, который работает во всех браузерах? , чтобы узнать, как это обойти.
Встроенный JavaScript в тегах
и onbeforeunload
конфликтует в IE: Если есть встроенный JavaScript в части href
] тег
(например,
, то IE всегда будет показывать сообщение, возвращенное из перед загрузкой
, если только не onbeforeunload
предварительно удаляется. См. также Запрашивать подтверждение при закрытии вкладки .