解決中繼標記、標頭和指令碼中的試用權杖常見問題。
檢查清單
如要排解來源試用相關問題,請使用提供的連結逐一解決下列問題。
快來體驗看看!
以下示範以各種方式提供來源試用權杖及試用功能:
- ot-meta.glitch.me:
origin-trial
中繼標記中的符記 - ot-header.glitch.me:
Origin-Trial
回應標頭中的符記 - ot-3p.glitch.me:由第三方指令碼插入的符記
- ot-iframe.glitch.me:在 iframe 中存取的來源試用功能
- ot-iframe-3p.glitch.me:跨來源 iframe 範例
使用 Chrome 開發人員工具檢查權杖
Chrome 93 開發人員工具會在所選影格的「應用程式」面板中提供來源試用資訊。
展開頂端頁框即可檢查子頁框可用的來源試用權杖。舉例來說,針對位於 ot-iframe.glitch.me 的示範網頁,您會看到 iframe 中的網頁提供權杖。
- 權杖狀態:網頁是否具備有效的權杖。請注意,在某些來源試用中,可能還有其他因素 (例如地理區域限制),這表示即便在具備有效權杖的情況下,仍無法使用來源試用功能。Chrome 開發人員工具狀態碼說明瞭來源試用的每個程式碼代表意義。
- 來源:為權杖註冊的網路來源。
- 到期時間:權杖的最大 (最新) 到期日/時間,通常與試用期結束時相符。這與「My Registrations」中顯示的符記「有效期限」並不相同。「我的註冊」頁面顯示權杖目前的有效期間,且可延長期限。
- 使用限制:用量限制 (可以為部分試用設定)。
- 第三方:是否為權杖啟用第三方比對功能。這項功能適用於某些來源試用,因此需要在第三方指令碼的多個網站上存取試用功能。
- Match Sub-Domains (比對子網域):為權杖啟用子網域比對功能。如此一來,您就可以在來源的多個子網域上測試來源試用功能,而不需要為每個子網域使用不同的權杖。
如果目前使用者沒有試用、權杖已過期或有其他限制,Chrome 開發人員工具會在試用名稱旁顯示警告。
Chrome 開發人員工具狀態碼
已過期:權杖已超過到期日。您必須更新權杖,才能產生具有新到期日的新權杖。
原始碼FeatureDisabled:試用目前無法使用。
原始碼FeatureDisabledForUser:已透過其他使用限制限制,將這個符記指定為目前使用者停用。請參閱設計文件的「使用者子集排除」一節。
原始碼 1
原始碼 2不安全:要求來源不安全,且未針對不安全的來源啟用試用。 如來源試用權杖驗證工具程式碼所述:「如果是第三方權杖,目前的來源和指令碼來源都必須安全無虞。由於子網域比對,憑證來源可能不會完全符合所提供的指令碼來源,且結果也不會指出比對成功的特定來源。因此,這並非尋找適當指令碼來源的直接查詢。為避免重複執行所有來源比較作業,這裡的快速鍵取決於提供的指令碼來源數量。至少須有一個,否則第三方權杖無法驗證。
原始碼InvalidSignature:權杖的簽名無效或格式有誤。
原始碼格式錯誤:符記格式錯誤,無法剖析。
原始碼
NotSupported:Chromium 的「embedder」不支援由權杖定義的來源試用:瀏覽器 (例如 Chrome 或 Edge)、WebView 或其他使用者代理程式。
原始碼成功:憑證格式正確、未過期、與來源試用功能相符,並由預期來源提出。
原始碼TokenDisabled:憑證已標示為已停用,因此無法使用。
原始碼TrialNotAllowed:目前的使用者無法使用來源試用。
原始碼UnknownTrial:符記指定的功能名稱與任何已知試驗不符。
原始碼WrongOrigin:要求來源與權杖中指定的來源不符。這可能包含配置、主機名稱或通訊埠。如果 HTTP 標頭、中繼標記或內嵌指令碼中有第三方權杖 (而非外部 JavaScript 檔案),也會顯示這個狀態。
原始碼WrongVersion:權杖版本錯誤:目前僅支援權杖版本 2 和 3。
原始碼
無法使用!🤔
如果來源試用無法正常運作,請確認你符合下列條件。
你是在 Chrome 中進行測試,而非 Chromium 或其他瀏覽器
Chrome 來源試用是專為 Chrome 使用者所設計。請勿依賴 Chrome 來源試用權杖在其他瀏覽器中啟用試用功能,包括 Chromium 及其他以 Chromium 為基礎的瀏覽器。 這是因為 Chrome 來源試用只適用於 Chrome 中為實驗提供的功能。
起點試用也適用於 Firefox 和 Microsoft Edge。註冊 Firefox 或 Edge 來源試用時,系統不會啟用 Chrome 的功能。
已針對存取你網站的 Chrome 版本啟用來源試用
試用方案僅適用於特定 Chrome 版本,在某些情況下,這可能表示只有穩定版 Chrome 版本 (初期測試版本、開發人員版和 Beta 版) 才提供試用功能。
您可以前往試用的註冊頁面查看適用版本:
如要查看目前使用的 Chrome 版本,請前往 chrome://version。
Chrome 設定未停用來源試用
如果是個別使用者回報無法使用特定功能,請在 Chrome 設定中確認該功能未停用。舉例來說,您可以透過 chrome://settings/privacySandbox
頁面停用 Privacy Sandbox 功能。
關鍵字和語法正確無誤
請務必針對來源試用權杖使用適當的關鍵字和語法。
如果是第一方使用,您可以在 origin-trial
中繼標記內提供符記:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
您也可以在 Origin-Trial
回應標頭中提供符記。以下是在 Node.js 中使用 Express 的範例:
app.use(function(req, res, next) {
res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
next();
});
也可以使用 JavaScript 提供符記:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
第一方權杖來源與網頁來源相符
您在註冊試用時選取的「Web Origin」值與提供權杖的網頁來源相符。
舉例來說,如果您選取 https://example.com
做為網路來源:
您可能會獲得類似下方的權杖值:
檢查這個值是否與您要排解問題的網頁所使用的符記相符。
針對中繼標記提供的權杖,請檢查 HTML:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
對於標頭中提供的權杖,您可以前往 Chrome DevTools「Network」面板的「Response Headers」頁面查看權杖值:
第一方權杖是由使用該權杖的來源提供
如要為來源提供網頁中的程式碼啟用來源試用功能,請在中繼標記、標頭或相同來源的 JavaScript 中提供試用權杖。
註冊符記的來源必須與提供符記的來源相符。
第三方權杖來源與指令碼來源相符
您可以註冊加入在其他來源中插入的指令碼來源試用。
舉例來說,如果要讓來自 javascript-library.example
的指令碼參與來源試用,則必須為 javascript-library.example
註冊第三方比對的權杖。
第三方符記的來源值必須與插入該權杖的指令碼來源相符。
第三方指令碼使用第三方權杖
您不能讓第三方指令碼參與網站的來源試用計畫,就是註冊來源 (而非指令碼) 的權杖。
如果第三方指令碼必須使用已啟用第三方比對的權杖,也就是透過指令碼本身插入的權杖 (未包含在網站的中繼標記或標頭中),需要使用下列程式碼:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
第三方權杖是透過外部指令碼提供,而非中繼標記、HTTP 標頭或內嵌指令碼
系統會驗證第三方符記以插入這些符記的指令碼來源進行驗證,但靜態標記中的內嵌指令碼和 <meta>
標記沒有來源 (即來源網址)。
也就是說,第三方權杖必須透過外部指令碼提供,而非 <meta>
標記或內嵌指令碼中。只要指令碼的來源與註冊試用的來源相符,那麼插入符記的外部指令碼來自相同來源或不同的來源都無關緊要。
相關示範請見 ot-iframe-3p.glitch.me。
提供試用權杖的方法支援來源試用功能存取權
有些來源試用功能需要以特定方式提供試用權杖。舉例來說,啟用服務工作站和共用工作站的來源試用存取權的唯一方法,是在 Origin-Trial
標頭中提供權杖。
已為子網域使用權杖啟用子網域比對
如果網站上的部分網頁似乎無法使用來源試用功能,請檢查提供服務的子網域是否正確設定憑證。
在註冊來源試用時,您可以選擇比對來源的所有子網域:
您也可以比對子網域來找出第三方權杖:
系統不會為公開尾碼清單中的來源核發子網域權杖。舉例來說,您無法註冊 https://appspot.com 或 https://github.io 等來源,但可以註冊來源中的網域,例如 https://example.appspot.com 或 https://example.github.io。
權杖仍然有效
權杖的有效期限為六週。超過期限後,您必須提交意見回饋, 將有效期限延長。網頁開發人員適用的來源試用指南說明如何確保權杖在整個來源試用期間皆有效。
您可以在 Chrome 來源試用的「我的註冊」頁面中查看有效的權杖:
如果權杖仍然有效,Chrome 開發人員工具會顯示狀態 Success
:
如果您的權杖已過期,開發人員工具會顯示 Expired
狀態,我的註冊頁面也會顯示「過期的權杖」部分。
來源試用尚未結束
如要查看來源試用的結束日期,請前往該機構的註冊頁面:
對於已結束的試用,開發人員工具會顯示類似下方的內容:
每當您需要提供意見回饋或權杖即將到期,但試用期即將結束時,您就會收到系統自動發送的電子郵件,
來源試用適用於目前的使用者
即使已提供有效的權杖,部分使用者也無法試用部分來源試用。
如果目前的使用者無法試用,Chrome 開發人員工具會顯示 TrialNotAllowed
警告:
我們會針對每次來源試用提供使用限制和適用地區的相關資訊。
與任何網路平台功能一樣,也都應使用功能偵測,確認系統支援來源試用功能,再開始使用。
尚未超過來源試用使用限制
根據預設,凡是可試用有效權杖的網頁,都會啟用來源試用功能。
不過,在極少數情況下,來源試用上限為所有 Chrome 網頁載入的 0.5%。 如果所有 Chrome 使用者的總用量超過指定上限,系統會停用來源試用功能。 開發人員工具會將權杖狀態顯示為停用。
淘汰試用沒有用量限制,因為這些試用項目並未導入新功能,因此如果依賴試用版功能,不太可能大幅減少網路內容的風險。
某些試用服務也提供限制用量的選項,這表示系統會為部分使用者停用來源試用功能。這個選項可在註冊頁面提供以下功能的來源試用:
如果您不知道自己的使用者對來源試用功能的存取權低於預期,請務必選取「標準限制」。
iframe 提供專屬的權杖
如要授予來源試用功能的存取權,iframe 必須透過中繼標記、HTTP 標頭或以程式輔助方式提供權杖。iframe 不會沿用含有這些功能的頁面所啟用功能的存取權。
ot-iframe.glitch.me 示範了從 iframe 存取來源試用功能。ot-iframe-3p.glitch.me 提供多個跨來源 iframe 範例。
已正確設定權限政策
部分來源試用功能可能會受到 Permissions-Policy
標頭 (舊稱 Feature-Policy
標頭) 的影響。您可以在 Intent to Experiment 瞭解試用功能的意圖,或是 web.dev 或 developer.chrome.com/blog 的開發人員說明文件中瞭解這項功能。
請確認您嘗試存取的功能未遭到 Permissions-Policy
指令封鎖。您可以在 Chrome 開發人員工具「Network」面板中檢查回應標頭,並在「應用程式」面板中查看可用功能的完整清單。
那工作站呢?
來源試用功能可以提供給服務工作人員、共用工作站和專屬工作者。不過,要啟用服務工作站和共用工作站的存取權,唯一的方法是在 Origin-Trial
標頭中提供權杖。
專用工作站會沿用上層文件啟用的功能。
在存取功能前提供權杖
請務必在試用功能「使用之前」提供來源試用權杖。 舉例來說,如果網頁透過 JavaScript 提供權杖,請務必在嘗試存取試用功能的程式碼之前,先執行提供權杖的程式碼。
來源試用示範
- 中繼標記中的權杖
- 標頭中的權杖
- 透過 iframe 存取的功能
- 由第三方指令碼插入的權杖
- ot-iframe-3p.glitch.me:跨來源 iframe 範例