AMP

启用实验性功能

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

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

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

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

选择加入 AMP 测试版通道

AMP 测试版通道是一种让浏览器选择使用较新版本的 AMP JS 库的方法。

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

选择加入测试版通道非常适合

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

如果您发现某个问题似乎仅在 AMP 的测试版通道版本中出现,请提交问题并描述问题。始终包含指向重现该问题的页面的 URL。

要使您的浏览器选择加入 AMP 测试版通道,请转到AMP 实验页面并激活“AMP 测试版通道”实验。要接收有关 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 域提供的内容,可以使用开发工具控制台中的以下代码切换实验

AMP.toggleExperiment('experiment')

任何包含实验性功能的 AMP 文件都将无法通过AMP 验证。对于生产就绪的 AMP 文档,请删除这些实验性组件。

为特定文档启用实验

文档可以选择加入某些实验。为此,请在 HTML 文档的 head 中、您的 AMP 脚本 (https://cdn.ampproject.org/v0.js) 之前放置一个名为 amp-experiments-opt-in 的元标记。其内容值是一个逗号分隔的要选择加入的实验 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 属性),或者实验的名称。