Pro*_*mit 12 safari structured-data json-ld
使用此简单代码创建一个 HTML 文件并在 Safari 中打开它。
<html>
<head>
<script type="application/ld+json">
[
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "Parqet",
"url": "https://www.parqet.com/",
"logo": "https://www.parqet.com/logos/parqet_logo_pos.svg",
"sameAs": [
"https://www.facebook.com/parqetcom",
"https://twitter.com/ParqetApp",
"https://www.instagram.com/ParqetApp/",
"https://www.youtube.com/channel/UC4LOcElG8Z73Hvgbbp3m1KQ",
"https://www.linkedin.com/company/parqet/",
"https://github.com/tresorone"
]
}
]
</script>
</head>
<body>
test
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Safari 会产生此错误。
类型错误:未定义不是对象(评估 'r["@context"].toLowerCase')
非常感谢任何有关我们如何解决此问题的见解。在最后一个属性或对象中添加尾随逗号可以消除错误 - 但它不再是有效的 JSON。
看起来 Safari 对数组有问题并且需要一个对象。为了仍然编写多个 JSON-LD 定义,我们可以使用该@graph表示法。
这修复了错误。
<html>
<head>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@graph": [
{
"@type": "Organization",
"name": "Parqet",
"url": "https://www.parqet.com/",
"logo": "https://www.parqet.com/logos/parqet_logo_pos.svg"
}
]
}
</script>
</head>
<body>
test
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
需要明确的是:对象数组是完全有效的。我怀疑这是 Safari 中的一个错误。
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |