W3C标记验证错误

时间:2013-09-23 06:10:06

标签: html html5 w3c-validation noscript

我尝试使用简单的HTML页面W3C Markup validation

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Title</title>
    <script src="script/myScript.js" type="text/javascript"></script>
    <link href="style/theme.css" rel="stylesheet"></link> 
     <!--[if lte IE 8]>
    <link href="style/themeIE8.css" rel="stylesheet"></link>
    <![endif]-->     
    <noscript>Please enable JavaScript in your browser to view this page properly, to view the basic page of the site click the link <a href="no-javascipt/main.aspx">main.aspx</a>
   </noscript>

</head>
<body class="layout">
   <div class="header"></div>
   <div class="content"></div>
   <div class="footer"></div>
</body>
</html>

并出现以下错误

enter image description here

我想在noscript标签(或通常在head标签本身中)使用像a这样的DOM元素是不行的,有没有替代方案?即如果找不到脚本,则提供指向不需要脚本的页面的链接

以及为何我收到link&amp;的错误的任何想法body代码?感谢

2 个答案:

答案 0 :(得分:4)

link标记没有关闭标记 </link> 。因此,它无效。如果要内联关闭它,请执行以下操作:

<link ... />

此外,您需要将<noscript>标记转移到body标记内以及head标记之间,因为它包含文本内容。

Reference

Sitepoint Reference


但是,如果你放在head标签 1 中,使用这样的东西是有效的。

<noscript><link href="style/theme.css" rel="stylesheet" /></noscript>
  

1。 在head元素中,如果禁用noscript元素的脚本
  noscript元素必须仅包含linkstylemeta元素。

     

在head元素中,如果为noscript元素启用了脚本   noscript元素必须仅包含文本,除外   使用noscript调用HTML片段解析算法   元素作为上下文元素,文本内容作为输入必须   导致仅包含linkstylemeta的节点列表   如果他们是孩子的话就会符合的要素   noscript元素,没有解析错误。

正确标记

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Title</title>
    <script src="script/myScript.js" type="text/javascript"></script>
    <link href="style/theme.css" rel="stylesheet" />
     <!--[if lte IE 8]>
    <link href="style/themeIE8.css" rel="stylesheet" />
    <![endif]-->     
</head>
<body class="layout">
<noscript>Please enable JavaScript in your browser to view this page properly, to view the basic page of the site click the link <a href="no-javascript/main.aspx">main.aspx</a>
   </noscript>
   <div class="header"></div>
   <div class="content"></div>
   <div class="footer"></div>
</body>
</html>

答案 1 :(得分:0)

检查你不正确的样式链接。风格链接应该是自我关闭。即。

<link href=".."  rel="stylesheet" />

因为书面文字没有链接样式或脚本所以它应该在body标签下。