为什么在动态AMP页面上收到未使用的扩展名错误?

时间:2019-02-06 12:17:35

标签: amp-html

从AMP验证器中,我收到以下错误消息。

  

在此页面上找到了扩展名'amp-date-picker',但未使用。请删除此扩展名。

这是一个动态页面,因此有时日期选择器将出现在页面上,有时则不会。

AMP文档说脚本需要添加到头部,因此这意味着有时会出现没有日期选择器的情况,但脚本仍包含在内。

由于我不认为应该将此脚本与组件HTML一起添加,因此我有哪些解决此错误的选项?

谢谢 大卫

1 个答案:

答案 0 :(得分:0)

由于性能原因,您会收到错误消息,因为大多数组件会忽略或警告而不是抛出此类错误。您应该在服务器端检查内容,并仅在需要时才动态包含脚本。

这是我之前为客户端构建的PHP(Bolt CMS)中类似内容的示例,在页面标题中,它在包含脚本之前检查主体中是否包含amp-youtube标签。当然,您需要使用任何使用的语言。

{% set body = record.body|ampraw %}
{% if 'amp-youtube' in body %}
  <script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>   
{% endif %}

您可以查看amp-date-picker here的验证规则。