我正在尝试将 Google Analytics 实验脚本添加到我的 .xhtml 中。当我添加它时,出现以下错误。
: 元素的内容必须由格式正确的字符数据或标记组成
我已经尝试包含 CDATA 标签以修复错误,但是当我运行谷歌分析验证程序时,我得到未找到实验代码。。
我想原因是因为我添加了 CDATA 标签(所以脚本被稍微修改了),有没有人有任何其他可能的解决方案?
<!-- Google Analytics Content Experiment code -->
<script>function utmx_section(){}function utmx(){}(function(){var
k='4238049-1',d=document,l=d.location,c=d.cookie;
if(l.search.indexOf('utm_expid='+k)>0)return;
function f(n){if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.
indexOf(';',i);return escape(c.substring(i+n.length+1,j<0?c.
length:j))}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;d.write(
'<sc'+'ript src="'+'http'+(l.protocol=='https:'?'s://ssl':
'://www')+'.google-analytics.com/ga_exp.js?'+'utmxkey='+k+
'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='+new Date().
valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"><\/sc'+'ript>')})();
</script><script>utmx('url','A/B');</script>
<!-- End of Google Analytics Content Experiment code -->
最佳答案
如果 CDATA 无法解决问题,因为 Google 对此不屑一顾,那么基本上还有 2 个其他解决方案:
手动转义 XML 特殊字符,使整个 JS 代码在语法上 XML 有效。替换
<
通过<
,&
通过&
,>
通过>
等将JS代码放在自己的JS文件中,并通过编辑:因此不会。<script src>
包含.不确定 Google Analytics Validator 是否吃掉了它。
我至少会向 Google Analytics 人员报告他们的验证器严重损坏的问题。
另见:
关于javascript - 谷歌分析实验导致格式正确的字符数据或标记错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20427704/