在嵌入的JavaScript特殊字符(special characters in embedded

2019-10-19 20:46发布

我有一些JavaScript嵌入在像这样的HTML文件

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

而且它有这样一行

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

一切正常的话(这意味着脚本工作),但验证是尖叫:

...字符“&”是一个分隔符的第一个字符,只是当作数据
...此消息可能会出现几种情况:
- 你想在您的页面中的“<”字符:你应该逃脱它的“<”
- 您使用转义符号“&”:这可能在某些情况下是有效的,但建议使用“&”,这始终是安全的。
-Another可能是你忘了在前面的标签,关闭报价。

这似乎荒谬及与和放大器全部更换。 我怎样才能摆脱错误的?

Answer 1:

如果使用的是XHTML,你需要一个中附上内嵌脚本CDATA节 :

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

延伸阅读:

  • About.com:Javascript和XHTML
  • Codehouse.com:让JavaScript和XHTML兼容
  • 维基百科:CDATA


文章来源: special characters in embedded javascript