簡體   English   中英

Javascript CDATA部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM