我有一些嵌入在 html 文件中的 javascript,如下所示
<html>
<head>
<script>
// and the script runs here
</script>
</head>
<body></body>
</html>
它有一条像这样的线
if((os == 'Mac')&&((br == 'Safari')||(br == 'Chrome')))
一切顺利(这意味着脚本可以工作),但是验证者 http://validator.w3.org/正在尖叫:
...字符“&”是分隔符的第一个字符,但作为数据出现
...此消息可能会在多种情况下出现:
-您试图在页面中包含“-您使用了未转义的与号“&”:这在某些情况下可能有效,但建议使用“&”,这始终是安全的。
-另一种可能性是您忘记关闭前一个标签中的引号。
把所有 & 替换为 & 似乎很荒谬。我怎样才能摆脱这个错误?
如果您使用 XHTML,则需要将内联脚本包含在CDATA部分 http://en.wikipedia.org/wiki/CDATA#Use_of_CDATA_in_program_output:
<script type="text/javascript">
// <![CDATA[
document.write("&");
// ]]>
</script>
进一步阅读:
-
About.com:Javascript 和 XHTML http://javascript.about.com/library/blxhtml.htm
- Codehouse.com:使 JavaScript 与 XHTML 兼容 http://www.codehouse.com/javascript/tips/xhtml/
- 维基百科:CDATA http://en.wikipedia.org/wiki/CDATA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)