因此,我尝试将广告代码动态添加到DOM中,如下所示:

<script type="text/javascript"><!--<![CDATA[
   JAVASCRIPT CODE
//]]>--></script>


如果我直接将此代码粘贴到源代码中,那么它将起作用,但是,如果我尝试使用jQuery将其插入到DOM中,则会引发一些无法追踪的错误-至少我无法追踪它。实际上是这样的:



有趣的是,Firebug将此错误连接到包含jQuery的页面中的随机脚本。广告代码以这种方式插入DOM / element是jQuery对象/:

element.html(data.content);


我还尝试了什么:


我试图删除<!-- --> html注释标签。
我试图将wole代码包装到jQuery动态创建的脚本标签中。
我什至尝试删除CDATA标记,但这破坏了一切,我认为这对于广告管理公司提供的主要广告处理程序脚本很重要。


任何帮助将不胜感激,在此先感谢!

(请不要在意该方法,它必须使用ajax来完成。)

编辑:问题仍然存在,但我认为广告代码一定存在问题,因此我接受了该主题的第一个有用答案。

最佳答案

<script type="text/javascript">
//<![CDATA[
        ...
//]]>
</script>

<!-- (For styles, it is different) -->

<style type="text/css">
/*<![CDATA[*/
        ...
/*]]>*/
</style>


而且,如果您确实需要与无法识别导致其内容显示在页面上的脚本或样式标签的旧版浏览器兼容,则可以使用以下方法:

<script type="text/javascript"><!--//--><![CDATA[//><!--
        ...
//--><!]]></script>

<!-- (For styles, it is different) -->

<style type="text/css"><!--/*--><![CDATA[/*><!--*/
        ...
/*]]>*/--></style>


使用<![CDATA[,您可以将JS嵌入到XML(和XHTML)文档中,而无需用XML实体XML替换特殊的<字符,例如>&<等, >&

关于javascript - 尝试在脚本标记中动态添加CDATA时出现语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15154407/

10-14 17:31
查看更多