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 文件。

為特定文件啟用實驗性功能

文件可以選擇加入特定的實驗性功能。若要執行此操作,請將名稱為 amp-experiments-opt-in 的 meta 標記放在 HTML 文件的 head 標記中,AMP 腳本 (https://cdn.ampproject.org/v0.js) 之前。其內容值是以逗號分隔的實驗性功能 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 屬性中),也不是實驗性功能的名稱。