我尝试使用简单的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>
并出现以下错误
我想在noscript
标签(或通常在head标签本身中)使用像a
这样的DOM元素是不行的,有没有替代方案?即如果找不到脚本,则提供指向不需要脚本的页面的链接
以及为何我收到link
&amp;的错误的任何想法body
代码?感谢
答案 0 :(得分:4)
link
标记没有关闭标记 。因此,它无效。如果要内联关闭它,请执行以下操作:</link>
<link ... />
此外,您需要将<noscript>
标记转移到body
标记内以及head
标记之间,因为它包含文本内容。
但是,如果你放在head
标签 1 中,使用这样的东西是有效的。
<noscript><link href="style/theme.css" rel="stylesheet" /></noscript>
1。 在head元素中,如果禁用
noscript
元素的脚本
noscript
元素必须仅包含link
,style
和meta
元素。在head元素中,如果为
noscript
元素启用了脚本noscript
元素必须仅包含文本,除外 使用noscript调用HTML片段解析算法 元素作为上下文元素,文本内容作为输入必须 导致仅包含link
,style
和meta
的节点列表 如果他们是孩子的话就会符合的要素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标签下。