Html 哪些浏览器需要数据前缀?

Html 哪些浏览器需要数据前缀?,html,angularjs,Html,Angularjs,我的情况恰好是针对AngularJS的,但实际上这是一个一般性的问题 使用AngularJS时,有些功能需要自定义属性,例如ng repeat。建议使用数据作为前缀,这样“旧浏览器”就不会删除它(在Angular的情况下,某些功能会被删除)。什么时候不再需要这样做?IE8?IE9?添加前缀没有多大区别,但如果能真正知道(而不是盲目地)哪些浏览器需要它,或者更好的是,什么时候可以安全地停止添加前缀。没有(至少是常见的)浏览器存在不使用数据前缀的随机属性问题。从技术上讲,自定义属性应以数据作为前缀,

我的情况恰好是针对AngularJS的,但实际上这是一个一般性的问题

使用AngularJS时,有些功能需要自定义属性,例如ng repeat。建议使用数据作为前缀,这样“旧浏览器”就不会删除它(在Angular的情况下,某些功能会被删除)。什么时候不再需要这样做?IE8?IE9?添加前缀没有多大区别,但如果能真正知道(而不是盲目地)哪些浏览器需要它,或者更好的是,什么时候可以安全地停止添加前缀。

没有(至少是常见的)浏览器存在不使用
数据
前缀的随机属性问题。从技术上讲,自定义属性应以
数据
作为前缀,以使其“有效”,但在实践中,取消前缀并没有当前的缺点。规范建议使用
数据
前缀,因为这是未来的证明。例如,如果您创建一个名为
mask
的角度指令,并像这样使用它:
,那么如果HTML6引入了一个名为
mask
的属性,则存在冲突<但是,代码>数据掩码保证不会成为冲突

虽然我个人根本不在乎我的页面是否使用HTML验证工具进行验证,但
data
提供的未来证明很有吸引力。。为了方便起见,我一直不说了。在大多数情况下,重构任何在未来成为冲突的东西可能不会有太多的工作——无论如何,这是不太可能的


您可能一直在考虑Angular使用自定义
元素
,就像您想将
掩码
指令用作
一样。为了使自定义元素在旧版IE中工作,请阅读此处。

实际上是这样写的。到目前为止,我使用AngularJS编写了一些SPA,这些SPA也必须在IE8+上工作,甚至IE8在自定义属性方面也没有问题。只有要使用自定义标记时才会出现问题。只需确保阅读。较旧的浏览器对待
数据-
ng-
没有任何区别。这两者都不是html4规范的一部分。尽管如此,浏览器对于未知属性似乎没有任何问题。多年来一直使用任意属性,甚至在IE6中也有效