SDTT中的JSON-LD:“字符串中的错误转义序列”

时间:2017-05-03 09:14:51

标签: escaping google-tag-manager json-ld

我的几个网页名称包含以下字符&,例如“Shipping& Deliveries”等。

我的Schema标记是用GTM(JSON-LD)注入的,但是在SDTT中我收到以下错误:

  

未分类的错误:1错误
  JSON-LD:字符串中的转义序列错误。

我在GTM中设置了一个变量,“CSS Selector”定位为“H1”,在上面的例子中检索页面标题“Features& Options”。

但在SDTT中,代码在通过URL提取进行测试时显示如下:

  

“name”:“主题标签:功能\ x26选项”

知道如何正确地逃避序列吗?

1 个答案:

答案 0 :(得分:0)

它更像是一个解决方法而不是一个答案,因为它不会转换这些字符,但是当我遇到同样的问题时,我只是在我在JSON-LD微数据中使用的自定义变量中使用replace。 做 - 为你的情况 - 而不是使用DOM变量 - 创建自定义JavaScript变量:

function() {
   var h1 = document.querySelector('h1').innerText;
   var cleanh1 = h1.replace(/&/g, "and");
   return cleanh1;
}

这样你的JSON-LD就像魅力一样。

如果在H1中innerText有可能返回&而不是& - 你可以在替换中添加它:

var cleanh1 = h1.replace(/(&|&)/g, "and");

希望得到这个帮助。

相关问题