AMP

启用实验性功能

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

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

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

以下是目前处于实验状态且已准备好由开发人员进行首次用户反馈测试的组件列表

选择加入 AMP Beta 频道

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

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

选择加入 Beta 频道非常适合

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

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

要让您的浏览器加入 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 文档移除这些实验性组件。

为特定文档启用实验

文档可以选择加入某些实验。要执行此操作,请在 AMP 脚本 (https://cdn.ampproject.org/v0.js) 之前在 HTML 文档的头部中放置一个名称为 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 属性。请注意,文档选择加入可以被用户选择退出覆盖。

Origin 试验

Origin 试用版 使开发人员能够在生产中使用实验性功能并提供必要的反馈。

传统上,处于实验模式的功能可以在开发中使用,但不能推送到生产中。借助 Origin 试用版,感兴趣的开发人员可以选择加入在生产中测试实验性功能,并具有以下期望

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

Origin 试用版提供了一个机会,可以在新功能完全上线之前实施并从中受益。此功能将存在于开发人员的网站上,而不是受到实验保护,并且反馈可以直接影响此功能的方向。

启用 Origin 试验

在使用 Origin 试用版实验的每个页面的 <head> 标记内包含以下 <meta> 标记

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

"amp-experiment-token" 是一个文本字符串,即 "amp-experiment-token"。不是令牌本身(它进入内容属性)或实验的名称。