как включить json-ld скрипт в nuxt 3?
Я пытаюсь добавить json-ld на свою страницу, но все еще не работает или не то, что я хочу.
вот что я пробовал до сих пор:
- используя useMeta ()
useMeta({
script: [
{
type: 'application/ld-json',
json: jsonLd,
},
],
});
результат:
<script type="application/ld-json" json="[object Object]"></script>
- с использованием
<Script>
тег
<Script type="application/ld-json">
{{ jsonLd }}
</Script>
результат:
<script type="application/ld+json"></script>
пустое значение.
и
<Script type="application/ld-json" v-html="jsonLd"></Script>
результат:
<script type="application/ld-json" innerhtml="[object Object]"></script>
я что-то упускаю? Спасибо.
4 ответа
Если кому-то интересно, вот как я заставляю это работать:
С использованием
<Script :children="jsonLd" />
Или же
useMeta({
script: [
{
type: 'application/ld-json',
children: JSON.stringify(jsonLd),
},
],
});
Вскоре будет добавлена поддержка Nuxt 3: https://github.com/ymmooot/nuxt-jsonld/issues/763 .
Вы можете использовать nuxt-jsonld, модуль Nuxt 3 для управления JSON-LD.
у меня это сработало в nuxt 3:
useHead({
script: [{
type: 'application/ld+json',
innerHTML: JSON.stringify({
"type": "application/ld+json",
"textContent": {
"@context": "https://schema.org",
"@type": "Article",
"headline": "",
"image": [
""
],
"author": [{
"@type": "Person",
"name": "",
"url": ""
}]
}
})
}],
__dangerouslyDisableSanitizers: ['script'],
})