AMP JSON-LD 动态内容

AMP JSON-LD dynamic content

我想使 JSON-LD 脚本的内容保持动态。但是,AMP 不允许我使用 Javascript 并且脚本应该在头部。
保持 body 的内容动态不是问题,因为 amp-list.

<head>
    <script type="application/ld+json">
    { 
    "@context": "http://schema.org",
    "@type": "NewsArticle",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "www.google.com"
    },
    "headline": "???"
    }
    </script>
</head>
<body>
    <amp-list layout="fixed-height" height="100vh" width="auto" src="www.google.com/json" class="m1">
          <template type="amp-mustache" id="amp-template-id">
                <p>{{title}}</p>
          </template>
    </amp-list>
</body>

可以使用 {{}} 在 amp-list 标签内访问文章的标题。我需要头部 json-ld 中的这个值作为标题的值。有关如何执行此操作的任何建议?

您可以使用 Microdata 而不是 JSON-LD 来标记您的文档。这样,元数据将与您的内容内联,并且可以通过 amp-list:

生成
<amp-list layout="fixed-height" height="100vh" width="auto" src="www.google.com/json" class="m1">
  <template type="amp-mustache" id="amp-template-id">
    <h1 itemprop="headline">{{title}}</h1>
    <h2 itemprop="author" itemscope itemtype="https://schema.org/Person">
      <span itemprop="name">{{author}}</span>
    </h2>
    ...
  </template>
</amp-list>

Here 是完整的微数据示例。