[英]Javascript CDATA section
最近,我正在創建一個模塊,將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>
使警告消失。
所以我的問題是這個。 在任何瀏覽器中,在線注釋和多行注釋之間是否有任何區別? 這只是谷歌標簽助手奇怪的行為,不承認這些評論?
一些html minifiers在縮小時可能會出現問題。
例如
<script type="text/javascript">
//<![CDATA[
alert("Hello World");
//]]>
</script>
成為
<script type="text/javascript">//<![CDATA[alert("Hello World");//]]></script>
所以/*<![CDATA[*/
只是更安全一點。
不,沒有區別。 Google Tag Assistent根本無法識別換行符終止的評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.