我最近开始使用JQuery和JavaScript在客户端开发。说实话,我总是认为DOCTYPE标签是理所当然的,我从未做过多少阅读:http://www.w3schools.com/tags/tag_doctype.asp。据我所知,XHTML 1(总共3个)HTML 4.01(共3个)和HTML 5有不同的文档类型.doctype包含“HTML 4.01 Transitional”的以下结构:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
我不明白原因:-//W3C//DTD HTML 4.01 Transitional//EN
。当然DTD路径足够了吗?我也不明白为什么这么难以记住,例如为什么不说:W3C HTML 4.01 Transitional
。我意识到这是有原因的,但我找不到它是什么。
我花了最后几个小时寻找答案,但没有运气,因此问题的原因。
答案 0 :(得分:3)
HTML中的文档类型声明正式是SGML构造,在SGML标准(ISO 8879)中定义。因此语法遵循该标准,它不会让您省略公共标识符;它允许语法只包含系统标识符,实际上是URL,但语法会有所不同。定义HTML时,判断使用此语法会更好。
在实践中并不重要,因为没有浏览器曾经通过本书实现HTML(遵循SGML标准),并且浏览器将doctype字符串视为可以选择特定模式的魔术字符串(怪癖,标准,几乎标准模式;共同呼叫“doctype嗅探”)。在JavaScript中,它没有意义;您可以在JavaScript中访问doctype字符串,但这就是全部。