繁体   English   中英

HTML 4.01中的“专有” HTML标签

[英]“Proprietary” HTML tags in HTML 4.01

我的上一家仅使用4.01 DOCTYPE的公司决定基于专有标记的使用以以下形式添加一些新功能:

<pp:foo attrOne="something" attrTwo="something else"/>

出于某些目的在他们的.aspx页中。 在一开始,他们破坏了很多Javascript,直到我怀疑这些专有标签是自动关闭的时,它们(在某些情况下)导致文档的其余部分被解释为该元素的子级。 (我应该补充一点,无论如何我都不会在4.01中使用专有标签,但这是在我的薪资等级之上做出的决定。)

根据我的预感,我建议他们将其更改为

<pp:foo attrOne="something" attrTwo="something else"></pp:foo>

然后所有坏掉的Javascript DOM操作又重新出现了。 我在任何地方都找不到这种行为的参考,而修复它只是我的幸运猜测。 我的问题是,有人知道为什么要这么做吗?

您遇到了此问题,因为HTML 4.01不像您的第一个示例那样支持自动关闭标签。

W3C html验证器给出了一些解释:

根据文档的DOCTYPE,可以至少两种不同的方式解释序列<FOO />。
对于HTML 4.01 Strict,“ /”终止标记<FOO(带有隐含的“>”)。
但是,由于即使在存在HTML 4.01 Strict DOCTYPE的情况下,许多浏览器也无法以这种方式进行解释,因此最好在纯HTML文档中完全避免使用它,而仅将其使用保留给使用XHTML编写的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM