我只是对Google,Yahoo和Stackoverflow中的doctype使用感到好奇。
我发现以上3个网站都使用HTML4.01 doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" >
很多人说我们应该使用XHTML1.0 doctype,但上面3个网站不这样做。你知道为什么吗?
我还想知道在编写网页时您将使用哪种文档类型。
答案 0 :(得分:6)
答案 1 :(得分:3)
XHTML比普通的HTML严格得多,因此很难(甚至不可能,取决于你用来构建它的框架)来实现它。我已经看过许多声称是XHTML的网页并且在它上面失败很长时间(默默地将其内容作为“text / html”提供,因此页面加载完毕)。
只要整个HTML生成过程,我的意思是所有这些,还没有被抽象到框架中,我冒昧地说,不可能保证网页的结果生成过程是有效的XHTML。但是 - 今天使用的许多流行语言(大多数,我猜)直接构建HTML,具有不知道规范的人的所有错误潜力,或者只是不关心内部是否<div>
<p>
有效或无效。
除此之外,它没有明显优于HTML的优势,可以证明它的使用,特别是如果你想要的只是“在浏览器中为显示器构建一个网页”。
HTML 4.01在用户代理中得到很好的支持并且做得很好。就个人而言,我认为没有一个很好的理由转向XHTML。我并没有说没有,这个话题的学术性比人们想象的要多得多。
答案 2 :(得分:2)
我也一直在使用HTML 4,因为它具有最小的兼容性和最小的麻烦。此外,HTML 4 Strict是必须的,而不是Transitional(仅用于遗留页面,而不是整个网络[显然,这是使用它的地方])。最近SO上有一个问题,它与XHTML相对于HTML相关的好处和缺点有关:At the end of the day, why choose XHTML over HTML?
答案 3 :(得分:1)
这是因为IE不支持XHTML并将其解释为HTML ...所以一些设计师选择简单地使用HTML 4.01,这在所有浏览器中都更加统一支持。
一些参考:http://en.wikipedia.org/wiki/XHTML#Adoption
大多数网络浏览器都有成熟的支持 对于所有可能的XHTML媒体 类型。值得注意的例外是 Microsoft的Internet Explorer。
我经常使用HTML 4.01,因为如果我使用XHTML并且知道它在IE上并没有真正被解释为XHTML,那就继续使用它是很奇怪的。
答案 4 :(得分:1)
我在个人项目中使用HTML 4.01 Strict。让我不担心发送application/xhtml+xml
,它具有完全向后兼容性,它给了我想要的那些技术限制。我仍然是一个标准极客,所以我的代码仍然很干净,即使使用的ML不需要它(那么多)来自我。
对我而言,XHTML似乎略有失败。几年后下一个最广泛使用的标准可能是HTML5,因为整个XHTML2项目似乎落后了。
我不是说现在使用它不好。通过使用XHTML而不是HTML,实际上很难获得优势。今天有多少基于XHTML的网页100%正确地做到了这一点?大多数情况下,他们在哑剧型上失败了。由于浏览器兼容性,允许text/html
,但如果您查看XHTML存在的全部原因,它仍然是错误的。实际上XHTML带来了多少功能?
我想有一些,但绝大多数基于XHTML的网页只能将他们的doctype交换到HTML 4.01,并且功能也一样。
因此,除非我的应用程序特别需要XML集成,否则我可以在所有浏览器上使用XHTML(2?)的方式(基本上纠正MIME类型),我认为没有理由在HTML 4.01上使用它。即便如此,我可能会考虑在服务器端进行所有这些修改,并在模板中使用HTML。
答案 5 :(得分:0)
向后兼容性对这些网站很重要。对于Stackoverflow而言,与谷歌和雅虎不同。
答案 6 :(得分:0)
我认为这是标准兼容性与(基本上)旧浏览器兼容性之间的权衡。因此,这3个网站错误地支持后者。此外,除非您声明正确的doctype,否则某些页面无法正确呈现。
答案 7 :(得分:0)
答案 8 :(得分:0)
如果您有权访问分析,我会查看您的受众使用的浏览器,然后选择您认为最合适的DOCTYPE。如果所有访问者都在使用IE3,那么您应该选择一些时髦的旧HTML DOCTYPE。