简单地将网页doctype HTML 4.01或XHTML 1.0更改为doctype HTML5是否安全?

时间:2012-01-23 15:17:44

标签: html5 doctype

假设我想将旧网站更改为“HTML5”-ish。如下更改标题doctype是否安全?

<!doctype html>

原始doctype可能是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

如果更改为<!doctype html>不可能破坏遗留网页的呈现方式,我认为它是安全的。

5 个答案:

答案 0 :(得分:5)

为什么是,是的。

事实上,HTML5是专为此设计的,因此任何人都可以在不触及标记的情况下简单地更改其文档类型,并且它是有效的。

答案 1 :(得分:5)

几乎安全。

此doctype:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

在浏览器中导致有限怪癖/几乎标准模式,而此doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

和此doctype

<!doctype html>

在浏览器中导致标准模式。

区别在于某些内联元素在行框中垂直对齐。

答案 2 :(得分:2)

如果您的“宽松”文档包含已弃用的标记,例如“font”或“frameset”,则一旦您将其更改为HTML5,该页面将无法验证。它会起作用吗?是的,最有可能的。它会有效吗?取决于实际内容。很可能你的严格文件,如果它们有效仍然有效,但“松散”文件可能不是。

关于显示器会发生什么?那要看。我发现将过渡文档更改为HTML5会导致某些浏览器显示更改 - 在某些情况下足够激进,我必须将其更改回来,直到我有时间重写相关页面。

答案 3 :(得分:1)

这取决于您对安全的定义。

它可以在浏览器中可靠地触发相同的渲染模式,因此您不会得到任何影响最终用户的差异。

它还将更改验证程序用于检查文档的规则,因此可能会为您的质量检查流程带来问题,因为需要更新文档。

答案 4 :(得分:1)

我刚刚发现它不安全的困难方式。我在一个旧网站上需要一些HTML5元素,现在已经工作了几年。我需要将doctype更改为html,因为某些浏览器不能使用新元素。

事实证明,在javascript中,domobject.name无法与新doctype一起使用。您必须使用domobject.attributes["name"].value。长话短说这个简单的事情造成了网站核心功能的主要问题。

因此,最好在更改doctype后测试所有内容,因为它可能会破坏您不会想到的各种内容......