Недавно я столкнулся с подобной проблемой при исследовании свойства readyState
объекта document
, где событие readystatechange
поддерживалось повсеместно, но само свойство readyState
не поддерживалось должным образом до ~ IE9.
Я обнаружил, что document.readyState
действительно существует в этих более ранних браузерах, но не будет правильно реализовано при тестировании (за исключением readyState === 'complete'
), но этого нет в документации.
При MDN это показывает, что Element.getAttribute()
не поддерживается полностью до Chrome 29, Firefox 23 и Safari 6, что важно, поскольку предыдущие выпуски этих браузеров имели общую долю рынка 1,33%.
Я знаю по тестированию в Browserstack, что метод .getAttribute
существует в Safari 4, 5.1 и Chrome 10, но в настоящее время я не могу провести тестирование раньше, и я не знаю,эти ранние реализации браузеров getAttribute
содержат ошибки, которые я еще не обнаружил.Например, getAttribute('style')
возвращает object
в IE6.
Существует также нет реального обхода этих методов, о которых я знаю.
В общем, я хочу знать, если яможет доверять свойству или методу как существующим, так и правильно реализованным в браузере версии 1, а не в версии 29, особенно в том, что касается DOM.Особенно в случае Safari, где на основе MDN можно подумать, что версия 5.1 практически не поддерживает вообще.
Здесь, например, говорится, что следующие свойства по существу поддерживаются везде, но мне нужнознать, поддерживаются ли стандартные реализации этих методов также без ошибок.(Чего они явно не знают, так как jQuery 1.12 существует, так что я вернулся к исходной точке).
И таблицы Compat QuirksMode, на которых, похоже, основана CanIUse, были протестированы в браузере.версии более поздние, чем версия 1, что полезно только частично.
HeLp!