AMP

啟用實驗性功能

AMP 實驗性元件是已發布但尚未準備好廣泛使用的功能,因此受到實驗性狀態的保護。

開發人員和使用者可以選擇加入以在這些功能完全發布之前使用。但應謹慎使用,因為它們可能包含錯誤或產生意想不到的副作用。

某些實驗可能永遠不會作為 AMP 專案的功能發布,這存在風險。

以下是目前處於實驗性狀態且已準備好供開發人員測試以取得第一批使用者意見回饋的元件清單

選擇加入 AMP Beta 版管道

AMP Beta 版管道是一種讓瀏覽器選擇使用較新版本 AMP JS 程式庫的方式。

AMP Beta 版管道版本可能較不穩定,且可能包含並非所有使用者都能使用的功能。如果您想要協助測試新版 AMP、回報錯誤或建構需要尚未向所有人開放的新功能的文件,請選擇加入此選項。

選擇加入 Beta 版管道非常適合用於

  • 測試和體驗尚未向所有使用者開放的新功能。
  • 在品質保證 (QA) 中使用,以確保您的網站與下一版 AMP 相容。

如果您發現問題似乎僅在 Beta 版管道版本的 AMP 中發生,請提交問題,並說明問題。請務必加入可重現問題的網頁網址。

若要讓您的瀏覽器選擇加入 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 網域提供的內容,可以使用開發人員工具控制台中的以下程式碼切換實驗:

AMP.toggleExperiment('experiment')

任何包含實驗性功能的 AMP 檔案都將無法通過 AMP 驗證。請移除這些實驗性元件,以取得可供正式環境使用的 AMP 文件。

為特定文件啟用實驗

文件可以選擇加入某些實驗。若要這麼做,請在 HTML 文件的 <head> 標記中,於 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 屬性。請注意,文件選擇加入可能會被使用者選擇退出覆寫。

來源試用

來源試用讓開發人員可以在正式環境中使用實驗性功能,並提供重要的意見回饋。

傳統上,處於實驗模式的功能可以在開發環境中使用,但無法推送至正式環境。透過來源試用,感興趣的開發人員可以選擇加入以在正式環境中測試實驗性功能,並抱持以下期望:

  • 測試時間有限。
  • 此功能在來源試用後可能會進行一些變更。

來源試用提供在全新功能完全上線之前實作並從中獲益的機會。此功能將在開發人員的網站上運作,而不是受到實驗的保護,且意見回饋可以直接影響功能的發展方向。

啟用來源試用

在每個使用來源試用實驗的網頁上,將以下 <meta> 標記加入 <head> 標記中

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

"amp-experiment-token" 是常值字串 "amp-experiment-token",而不是權杖本身 (權杖本身會進入 content 屬性),也不是實驗的名稱。