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

时间:2013-12-12 12:24:28

标签: html angularjs

我的情况恰好适用于AngularJS,但实际上这是一个普遍的问题。

使用AngularJS时,有些功能需要自定义属性,例如ng-repeat。建议在它前面添加数据 - 因此“旧浏览器”不会删除它(在Angular的情况下,某些功能将被删除)。在什么时候不再需要? IE8? IE9?添加它们并没有太大的区别,但实际上知道(而不是盲目地做)哪些浏览器需要它,或者更好的是,当它可以安全地停止添加前缀时,这将是很好的。

1 个答案:

答案 0 :(得分:2)

没有(至少是常见的)浏览器存在不使用data前缀的随机属性的问题。从技术上讲,自定义属性应该以{{1​​}}为前缀,以便“有效”,但实际上,没有当前的缺点可以省去前缀。该规范建议使用data前缀,因为它是未来的证据。例如,如果您创建一个名为data的角度指令并按如下方式使用它:mask,那么如果HTML6引入了一个名为<div mask></div>的属性,则会发生冲突。但是,mask保证永远不会成为冲突。

虽然我个人并不关心我的页面是否使用HTML验证工具进行验证,但data-mask提供的未来证明很有吸引力......我为了方便而将其遗弃。在大多数情况下,重构任何在未来发生冲突的事情可能不会有太大的作用 - 无论如何这都是不太可能的。

您可能一直在考虑的是Angular对自定义data的使用,就像您希望将elements指令用作mask一样。为了使自定义元素在旧版IE中运行,请阅读http://docs.angularjs.org/guide/ie