嵌入式javascript中的特殊字符

时间:2010-02-20 16:10:14

标签: javascript validation xhtml

我有一些嵌入在html文件中的javascript,如此

<html>
    <head>
        <script>
            // and the script runs here
        </script>
    </head>
    <body></body>
</html>

它有这样的一行

if((os == 'Mac')&&((br == 'Safari')||(br == 'Chrome')))

一切顺利(这意味着脚本有效),但the validator正在尖叫:

  

...字符“&amp;”是分隔符的第一个字符,但作为数据发生   ...此消息可能出现在以下几种情况中:
   - 你试图包括“&lt;”页面中的字符:您应该将其作为“&lt;”发送    - 您使用未转义的&符号“&amp;”:这在某些情况下可能有效,但建议使用“&amp;”,这始终是安全的。
   - 另一种可能性是您忘记关闭之前标记中的引号。

取代所有&amp;与&amp; amp。我怎样才能摆脱这个错误?

1 个答案:

答案 0 :(得分:5)

如果您使用的是XHTML,则需要将内联脚本包含在CDATA section中:

<script type="text/javascript">
// <![CDATA[
    document.write("&");
// ]]>
</script>

进一步阅读: