Недавно я создавал модуль для добавления тега ремаркетинга Google в интернет-магазин. Я подготовил google_tag_params для разных типов страниц (продукт, категория, корзина и т. д.) в соответствии с документацией. Все шло хорошо, пока клиент не проверил страницу с надстройкой Google Tag Assistant для Chrome. Он показывает предупреждение для раздела 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>
Заставляет предупреждение исчезнуть.
Итак, мой вопрос заключается в следующем. Есть ли разница между однострочным комментарием и многострочным комментарием в любом браузере? Это только странное поведение Google Tag Assistant, которое не распознает эти комментарии?