amp-state 中是否允许使用 src 属性
Is src attribute allowed in amp-state
我正在尝试使用来自 API 的数据填充 AMP 状态,用于 AMP 电子邮件。我们需要从 API 提供数据,因为它可以同时动态变化。
根据 AMP4email documentation,状态可以从子 <script>
元素或包含 CORS URL 的 src
属性填充到远程 [=30] =] 端点,但不是两者。
实际上,将 src
添加到 amp-state
将抛出以下验证错误:
The attribute 'src' may not appear in tag 'amp-state (AMP4EMAIL)'
在 AMP playground
您可以将以下代码复制到 playground 进行测试。
<!doctype html>
<html ⚡4email>
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
<style amp4email-boilerplate>body{visibility:hidden}</style>
</head>
<body>
<amp-state id="fruits" src="https://amp.dev/static/samples/json/related_products.json"></amp-state>
</body>
</html>
这是官方验证器的问题,还是文档的问题?
两者都有。众所周知,AMP 的验证器会混淆应用程序。
我建议提交一个验证器 bug issue at the official AMP project on GitHub
<amp-state>
当前不支持电子邮件的 src
属性。来自 AMP for Email Supported Components:
<amp-state>
is used to define the initial state used by amp-bind
.
Note: The src
attribute is not currently supported.
要实现您想要的效果,您可以使用 <amp-list>
在加载时从服务器中提取数据。
编辑: 我打开了 an issue to track updating the component documentation.
我正在尝试使用来自 API 的数据填充 AMP 状态,用于 AMP 电子邮件。我们需要从 API 提供数据,因为它可以同时动态变化。
根据 AMP4email documentation,状态可以从子 <script>
元素或包含 CORS URL 的 src
属性填充到远程 [=30] =] 端点,但不是两者。
实际上,将 src
添加到 amp-state
将抛出以下验证错误:
The attribute 'src' may not appear in tag 'amp-state (AMP4EMAIL)'
在 AMP playground
您可以将以下代码复制到 playground 进行测试。
<!doctype html>
<html ⚡4email>
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
<style amp4email-boilerplate>body{visibility:hidden}</style>
</head>
<body>
<amp-state id="fruits" src="https://amp.dev/static/samples/json/related_products.json"></amp-state>
</body>
</html>
这是官方验证器的问题,还是文档的问题?
两者都有。众所周知,AMP 的验证器会混淆应用程序。 我建议提交一个验证器 bug issue at the official AMP project on GitHub
<amp-state>
当前不支持电子邮件的 src
属性。来自 AMP for Email Supported Components:
<amp-state>
is used to define the initial state used byamp-bind
.Note: The
src
attribute is not currently supported.
要实现您想要的效果,您可以使用 <amp-list>
在加载时从服务器中提取数据。
编辑: 我打开了 an issue to track updating the component documentation.