我最近在研究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')
在IE6中返回object
。
我所知道的这些方法也没有真正的解决方法。
通常,我想知道是否可以信任属性或方法,并且该属性或方法可以从浏览器的版本1(而不是版本29)(尤其是在涉及DOM的情况下)同时存在并且可以正确实现。尤其是在Safari的情况下,您可能会基于MDN认为5.1版几乎完全不支持。
例如,在这里说,以下属性本质上是supported,但是我需要知道是否也支持这些方法的标准实现而没有错误。 (由于jQuery 1.12存在,所以它们显然不是真的,所以我回到正题)。
而CanIUse似乎基于QuirksMode的Compat Tables,似乎已经在高于版本1的浏览器版本上进行了测试,这仅部分有用。
嘿!