【问题标题】:JSON-LD in SDTT: "Bad escape sequence in string"SDTT 中的 JSON-LD:“字符串中的错误转义序列”
【发布时间】:2021-01-26 09:20:05
【问题描述】:

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

我的 Schema 标记注入了 GTM (JSON-LD),但在 SDTT 中出现以下错误:

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

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

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

"name": "主题标签:特征 \x26 选项"

知道如何正确转义序列吗?

【问题讨论】:

  • 你试过 encodeURIComponent() 吗?
  • 感谢您的回复 mrbubu,这超出了我目前有限的知识范围……不知道如何处理这些信息!

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


【解决方案1】:

这更像是一种解决方法而不是答案,因为它不会转换这些字符,但是当我遇到同样的问题时,我只是在我在 JSON-LD 微数据中使用的自定义变量中使用替换。 做 - 对于你的情况 - 而不是使用 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");

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2016-10-07
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多