Google分析实验导致格式正确的字符数据或标记错误

时间:2013-12-06 15:31:05

标签: javascript jsf xhtml google-analytics

我正在尝试将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 -->

1 个答案:

答案 0 :(得分:2)

如果CDATA无法解决问题,因为谷歌正在蠢蠢欲动,那么基本上还有其他两种解决方案:

  1. 手动转义XML特殊字符,使整个JS代码语法XML有效。将<改为&lt;&改为&amp;>改为&gt;等。

  2. 将JS代码放在自己的JS文件中,并由<script src>包含。不确定Google Analytics验证工具是否会这样做。编辑:因此不会。

  3. 我至少向Google Analytics员工报告一个问题,即他们的验证工具严重受损。

    另见: