使用自定义HTML属性的具体风险是什么?

这个问题在办公室变成了热烈的讨论,所以我有兴趣了解你的想法.

我们正在开发一种仅针对某些特定浏览器的网络应用程序.这些浏览器目前包括不同口味的Opera 9和Mozilla 1.7.12.在未来,我们可能还需要支持Opera 10和不同口味的WebKit.但是,我们不可能不必处理任何版本的IE.

我们的网络应用程序在其doctype中声明HTML 4.0严格.

最近,我提出了在HTML中使用自定义属性的具体问题的解决方案.我提出了一些这样的东西:

<span translationkey="someKey">...</span>

由于这是HTML 4无效的,所以我们的HTML人员并没有很好的下去,而且我们也有了一个争论.

我的问题是:使用自定义属性有什么风险?我知道该页面不会验证,但是并不是所有的浏览器都忽略了他们不知道的属性?或者可以想象,一些浏览器会改变为“怪癖模式”,并将该页面呈现为严格的HTML 4.0以外的页面

更新:

抱怨实际提出的问题.

解决方法

没有浏览器限制/风险.只有w3验证器会吠叫,但吠叫狗不咬人.

w3 spec说:

  • If a user agent encounters an attribute it does not recognize,it
    should ignore the entire attribute
    specification (i.e.,the attribute and
    its value).

IE也不会以怪异的方式呈现,有些人会想.它只会对无效/强制的doctypes做,而不是无效的属性.

但是,请记住,一些Javascript库/框架将“隐形地”添加/使用DOM树中的自定义HTML属性,例如几个jQuery插件.这样,您可能会冒犯属性的冲突,因为“巧合”使用与您自己的目的相同的名称属性.可悲的是,这通常很差甚至没有记录.

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在&#39;&#39;,则表示换行,用&#39;&#39;切割。
代码实现 option = { backgroundColor: &amp;#39;#080b30&amp;#39;, tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...