6

最近,我正在创建一个模块来将谷歌再营销标签添加到网上商店。我根据文档为不同类型的页面(产品、类别、购物车等)准备了 google_tag_params。一切都很顺利,直到客户使用 Chrome 的 Google Tag Assistant 插件检查了该页面。它显示 CDATA 部分的警告。起初我不明白他在说什么,因为参数很好,并且我在控制台中没有收到任何错误。所以我检查了 Google Tag Assistant,令我惊讶的是它的行为如下。

对于代码:

<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>

使警告消失。

所以我的问题是这个。任何浏览器中的单行注释和多行注释有什么区别吗?这是唯一无法识别这些评论的谷歌标签助手奇怪行为吗?

4

2 回答 2

6

一些 html 缩小器在缩小过程中可能会出现问题。

例如

<script type="text/javascript">
//<![CDATA[
    alert("Hello World");
//]]> 
</script>

变得

<script type="text/javascript">//<![CDATA[alert("Hello World");//]]></script>

所以/*<![CDATA[*/只是更安全一点。

于 2013-11-05T11:07:14.607 回答
2

不,没有区别。Google Tag Assistent 根本无法识别换行符终止的评论。

于 2013-11-05T10:38:13.700 回答