真正的浏览器支持get / set / hasAttribute()等

时间:2019-06-30 13:44:09

标签: javascript dom cross-browser compatibility backwards-compatibility

我最近在研究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的浏览器版本上进行了测试,这仅部分有用。

嘿!

0 个答案:

没有答案