AMP

启用实验性功能

AMP 实验性组件是已发布但尚未准备好广泛使用的功能,因此它们受到实验性状态的保护。

开发者和用户可以在这些功能完全发布之前选择使用它们。但应谨慎使用,因为它们可能包含错误或产生意外的副作用。

一些实验可能永远不会作为 AMP 项目的功能发布,这存在风险。

以下是当前处于实验状态并已准备好供开发者测试以获取第一批用户反馈的组件列表

选择加入 AMP Beta 频道

AMP Beta 频道是一种让浏览器选择使用较新版本的 AMP JS 库的方式。

AMP Beta 频道版本可能不太稳定,并且可能包含并非所有用户都能使用的功能。如果您想帮助测试新版本的 AMP,报告错误或构建需要尚未向所有人提供的新功能的文档,请选择此选项。

选择加入 Beta 频道非常适合

  • 测试和使用尚未向所有用户提供的新功能。
  • 在质量保证 (QA) 中使用,以确保您的网站与下一版本的 AMP 兼容。

如果您发现某个问题似乎仅在 Beta 频道的 AMP 版本中出现,请提交问题并描述该问题。请务必包含一个可重现该问题的页面的 URL。

要让您的浏览器选择加入 AMP Beta 频道,请转到AMP 实验页面并激活“AMP Beta 频道”实验。要获取有关 AMP 的重要/重大更改的通知,请订阅amphtml-announce邮件列表。

启用实验性组件

从 cdn.ampproject.org 提供

对于从 https://*.cdn.ampproject.org 提供的,请转到 Google AMP 缓存子域上的 /experiments.html,并通过切换启用(或禁用)任何实验性组件。

例如,要在源站为 www.example.com 的缓存 AMP 页面上启用实验,请转到 www-example-com.cdn.ampproject.org/experiments.html

实验选择加入项将保存到 localStorage,并且仅在从当前域提供的 AMP 页面上启用实验。

从其他域提供

对于从非 CDN 域提供的内容,可以使用 devtools 控制台中的以下命令切换实验

AMP.toggleExperiment('experiment')

任何包含实验性功能的 AMP 文件都将无法通过 AMP 验证。请删除这些实验性组件以获得可用于生产的 AMP 文档。

为特定文档启用实验

文档可以选择加入某些实验。为此,请在 HTML 文档的头部中,在您的 AMP 脚本 (https://cdn.ampproject.org/v0.js) 之前放置一个名为 amp-experiments-opt-in 的 meta 标签。其内容值是一个以逗号分隔的要选择加入的实验 ID 字符串。

<head>
  ...
  <meta name="amp-experiments-opt-in" content="experiment-a,experiment-b">
  <!-- The meta tag needs to be placed before the AMP runtime script.-->
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  ...
</head>

通过这样做,指定的实验将为文档的所有访问者启用。但是,并非所有实验都允许文档级别的选择加入。有关允许列表中的实验的完整列表,请参阅项目 prod-config.json 文件中的 allow-doc-opt-in 属性。请注意,文档选择加入可以被用户选择退出覆盖。

源试用

源试用使开发者可以在生产环境中使用实验性功能并提供重要反馈。

传统上,实验模式下的功能可以在开发中使用,但不能推送到生产环境。通过源试用,感兴趣的开发者可以选择在生产环境中测试实验性功能,但需要满足以下预期

  • 测试时间有限。
  • 该功能在源试用后可能会进行一些更改。

源试用提供了一个在功能完全上线之前实施并从中获益的机会。该功能将在开发者的网站上运行,而不是受实验的保护,并且反馈可以直接影响该功能的方向。

启用源试用

在每个使用源试用实验的页面上的 <head> 标记中包含以下 <meta> 标记

<meta name="amp-experiment-token" content="{copy your token here}">

"amp-experiment-token" 是字面字符串,"amp-experiment-token"。而不是令牌本身(该令牌进入 content 属性)或实验的名称。