我的几个网页名称包含以下字符&
,例如“Shipping& Deliveries”等。
我的Schema标记是用GTM(JSON-LD)注入的,但是在SDTT中我收到以下错误:
未分类的错误:1错误
JSON-LD:字符串中的转义序列错误。
我在GTM中设置了一个变量,“CSS Selector”定位为“H1”,在上面的例子中检索页面标题“Features& Options”。
但在SDTT中,代码在通过URL提取进行测试时显示如下:
“name”:“主题标签:功能\ x26选项”
知道如何正确地逃避序列吗?
答案 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");
希望得到这个帮助。