AMP

啟用實驗性功能

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

開發人員和使用者可以選擇加入使用這些功能,然後再完全發布。但使用時應謹慎,因為它們可能包含錯誤或產生意外的副作用。

某些實驗可能永遠不會以 AMP Project 的功能形式發布,這存在風險。

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

選擇加入 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 屬性。請注意,文件選擇加入可以被使用者選擇退出覆寫。

Origin trials (來源試用)

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

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

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

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

啟用來源試用

在每個使用來源試用實驗的頁面上,將以下 <meta> 標記包含在 <head> 標記內

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

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