最近,我正在创建一个模块,将google再营销代码添加到网上商店。我根据文档为不同类型的页面(产品,类别,购物车等)准备了google_tag_params。一切顺利,直到客户使用Google Tag Assistant插件检查了Chrome页面。它显示CDATA部分的警告。起初我不明白他在说什么,因为参数很好,我没有在控制台中收到任何错误。所以我检查了Google Tag助手,令我惊讶的是它的行为如下。
代码:
<script type="text/javascript">
//<![CDATA[
var google_conversion_id = <?php echo $this->getConversionId();?>;
var google_conversion_label = '<?php echo $this->getConversionLabel();?>';
var google_custom_params = window.google_tag_params;
var google_remarketing_only = <?php echo $this->getRemarketingOnlyFlag();?>;
//]]>
</script>
它显示警告“缺少CDATA注释”并指向文档https://support.google.com/tagassistant/answer/2978937?ref_topic=2947092#cdata_comments
但是将其更改为
<script type="text/javascript">
/*<![CDATA[*/
var google_conversion_id = <?php echo $this->getConversionId();?>;
var google_conversion_label = '<?php echo $this->getConversionLabel();?>';
var google_custom_params = window.google_tag_params;
var google_remarketing_only = <?php echo $this->getRemarketingOnlyFlag();?>;
/*]]> */
</script>
使警告消失。
所以我的问题是这个。在任何浏览器中,在线注释和多行注释之间是否有任何区别?这只是谷歌标签助手奇怪的行为,不承认这些评论?
答案 0 :(得分:6)
某些html minifiers在缩小时可能会出现问题。
例如
<script type="text/javascript">
//<![CDATA[
alert("Hello World");
//]]>
</script>
成为
<script type="text/javascript">//<![CDATA[alert("Hello World");//]]></script>
所以/*<![CDATA[*/
更安全一点。
答案 1 :(得分:2)
不,没有区别。 Google Tag Assistant根本无法识别换行终止的评论。