提问人:user3916429 提问时间:8/7/2014 最后编辑:Felix Klinguser3916429 更新时间:8/7/2014 访问量:596
W3C - 文档类型不允许此处的元素“a”
W3C - document type does not allow element "a" here
问:
我一直在尝试通过 XHTML 1.0 Strict 中的 W3C 验证我的网站代码。
我的最后一个错误我现在无法修复:
"document type does not allow element "a" here"
这是因为我一直在通过以下代码向机器人“隐藏”电子邮件地址:
<td><script type="text/javascript">var name="contact";var domain="theriff.fr";document.write('<a href="mail'+'to:'+name+'@'+domain+'">contact@theriff.fr</a>');</script></td>
有谁知道我如何保持电子邮件地址有点“隐藏”,并且仍然验证 W3C 中的最后一个错误?
提前致谢!
答:
1赞
Felix Kling
8/7/2014
#1
对于 XML 解析器,看起来元素内有一个元素(解析器不理解 JavaScript)。<a>
<script>
在元素内声明一个 CDATA 部分:<script>
<script type="text/javascript">
// <![CDATA[
// JavaScript here
// ]]>
</script>
这会告诉解析器不要解析(即解释为 XML)CDATA 部分内的内容。如果浏览器将它们传递给 JS 引擎,则可能需要 before 分隔符来防止 JS 引擎解释它们。//
另请参阅:在 XHTML 文档中正确使用 CSS 和 JavaScript。
旁注:您不能在 XHTML 文档中使用 document.write
:
注意:(like )在 XHTML 文档中不起作用(您将在错误控制台上收到“不支持操作”(NS_ERROR_DOM_NOT_SUPPORTED_ERR) 错误)。如果打开文件扩展名为 .xhtml 的本地文件,或者打开使用 application/xhtml+xml MIME 类型提供的任何文档,则会出现这种情况。有关详细信息,请参阅 W3C XHTML 常见问题解答。
document.write
document.writeln
评论
0赞
user3916429
8/7/2014
完美而快速的回答,谢谢:)编辑已修复 // 我再次看到^^谢谢
0赞
Felix Kling
8/7/2014
@Pyro:提出问题后必须等待 15 分钟才能接受任何答案。
0赞
user3916429
8/7/2014
多年来从未遇到过任何这种类型的错误,并且使用 javascript 和 XHTML 类型:/我迷路了哈哈
0赞
Jeremy J Starcher
8/7/2014
@user3916429 XHTML 通常不是。除非你发送正确的文档类型和HTML标题,否则浏览器会认为你真的在使用HTML,这意味着它会把你的XHTML读作简单奇怪和写得不好的HTML。浏览器非常善于从写得不好的页面中找出意义,否则整个互联网都会崩溃。
0赞
user3916429
8/7/2014
是的,我明白,但我想有了这个,它应该知道它至少是 XHTML,'<!DOCTYPE HTML PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
评论