开发者

special characters in embedded javascript

I have some javascript that is embedded in the html file like this

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

And it has a line like this

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

Everything goes OK (which means the script works), but the validator is screaming:

... character "&" is the first character of a delimiter but occurred as data

... This message may appear in several cases:

-You tried to include the "<" character in your page: you should escape it as "<"

-You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommende开发者_JAVA百科d to use "&", which is always safe.

-Another possibility is that you forgot to close quotes in a previous tag.

It seems ridiculous to replace all & with &amp. How can I get rid of that error?


If you are using XHTML, you need to enclose your inline scripts within a CDATA section:

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

Further reading:

  • About.com: Javascript and XHTML
  • Codehouse.com: Making JavaScript Compatible with XHTML
  • Wikipedia: CDATA
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜