我正在尝试将Google分析实验脚本添加到我的.xhtml中。当我添加它时,我收到以下错误。
:元素的内容必须包含格式良好的字符数据或标记
我已尝试包含补救错误的CDATA标记,但是当我运行google analytics验证程序时,我得到找不到实验代码。。
我在想是因为我添加了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 -->
答案 0 :(得分:2)
如果CDATA无法解决问题,因为谷歌正在蠢蠢欲动,那么基本上还有其他两种解决方案:
手动转义XML特殊字符,使整个JS代码语法XML有效。将<
改为<
,&
改为&
,>
改为>
等。
将JS代码放在自己的JS文件中,并由编辑:因此不会。<script src>
包含。不确定Google Analytics验证工具是否会这样做。
我至少向Google Analytics员工报告一个问题,即他们的验证工具严重受损。