我正在尝试将我的文档验证为XHTML 1.0 Transitional(W3C)。
我有以下错误: “文档类型不允许元素”noscript“here;假设缺少”object“start-tag” 对应于此代码:
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt=""
src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/1096/?
value=1.00&label=Y-skCMY_QM&guid=ON&script=0"/>
</div>
</noscript>
</head>
但是我的验证失败了。问题是什么?请帮我解决这个问题。
答案 0 :(得分:3)
您的一个解决方案可能是将其放在body
而不是文档的head
中,如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
<meta name="viewport" content="width=device-width"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt=""
src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/1096/?
value=1.00&label=Y-skCMY_QM&guid=ON&script=0"/>
</div>
</noscript>
</body>
</html>
这导致:
This document was successfully checked as XHTML 1.0 Transitional!
此外,根据this answer,它确实没有区别(我在这里谈论的是head
与body
):
已经使用HEAD以外的Google广告部分完成了此举 在BODY部分本身。从那以后真的没有什么不同 它被移动了,它就在用于广告的参数之后 显示。
解决方案#2
如果您需要完全删除<noscript>
,您可以尝试进行以下操作:
<div id='noscript' style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt=""
src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/1096/?
value=1.00&label=Y-skCMY_QM&guid=ON&script=0"/>
</div>
<script>document.getElementById('noscript').style.display='none'</script>
这使得工作与第一个解决方案完全相同。如果禁用JavaScript,则<script>...</script>
将无法执行,因此会显示<div>...</div>
。