Memecahkan masalah uji coba origin Chrome

Atasi masalah umum terkait token uji coba di tag meta, header, dan skrip.

Checklist

Untuk memecahkan masalah uji coba origin, selesaikan setiap masalah di bawah menggunakan link yang disediakan.




















Cobalah!

Demo di bawah menunjukkan setiap cara untuk memberikan token uji coba origin dan mengakses fitur uji coba:

Menggunakan Chrome DevTools untuk memeriksa token

Mulai Chrome 93, DevTools memberikan informasi uji coba origin di panel Aplikasi untuk frame yang dipilih.

Informasi uji coba origin Chrome DevTools
di panel Aplikasi.

Luaskan frame atas untuk memeriksa token uji coba origin yang tersedia untuk subframe. Misalnya, untuk halaman demo di ot-iframe.glitch.me, Anda dapat melihat bahwa halaman di iframe menyediakan token.

Panel Aplikasi Chrome DevTools, yang menampilkan token uji coba origin untuk halaman dalam iframe.

  • Status Token: Apakah halaman memiliki token yang valid. Perhatikan bahwa untuk beberapa uji coba origin, mungkin ada faktor lain, seperti batasan geografis, yang berarti fitur uji coba origin tidak tersedia, meskipun ada token yang valid. Kode status Chrome DevTools menjelaskan arti setiap kode untuk uji coba origin.
  • Asal: Asal Web yang terdaftar untuk token.
  • Waktu Habis Masa Berlaku: tanggal/waktu habis masa berlaku maksimum (terbaru) yang memungkinkan untuk token, yang biasanya akan cocok dengan akhir uji coba. Tanggal ini tidak sama dengan tanggal Berlaku Hingga untuk token yang ditampilkan di Pendaftaran Saya, yang menunjukkan berapa lama token saat ini valid, dan dapat diperpanjang.
  • Pembatasan Penggunaan: Batas penggunaan, yang dapat ditetapkan untuk beberapa uji coba.
  • Pihak Ketiga: Apakah pencocokan pihak ketiga diaktifkan untuk token. Fitur ini tersedia untuk beberapa uji coba origin, dengan fitur uji coba yang perlu diakses di beberapa situs dari skrip pihak ketiga.
  • Sub-Domain Cocok: Apakah pencocokan subdomain diaktifkan untuk token. Hal ini memungkinkan fitur uji coba origin diuji di beberapa subdomain origin, tanpa memerlukan token yang berbeda untuk setiap subdomain.

Chrome DevTools akan menampilkan peringatan di samping nama uji coba jika uji coba tidak tersedia untuk pengguna saat ini, token telah berakhir masa berlakunya, atau jika ada batasan lainnya.

Informasi uji coba origin Chrome DevTools
di panel Application yang menampilkan token yang sudah tidak berlaku

Kode status Chrome DevTools

  • Berakhir: Token telah melampaui tanggal habis masa berlakunya. Token harus diperpanjang agar dapat menghasilkan token baru dengan tanggal habis masa berlaku yang baru.
    Kode sumber

  • FeatureDisabled: Uji coba saat ini dinonaktifkan untuk digunakan.
    Kode sumber

  • FeatureDisabledForUser: Token ini telah ditetapkan sebagai dinonaktifkan untuk pengguna saat ini melalui pembatasan penggunaan alternatif. Lihat bagian "Pengecualian Subkumpulan Pengguna" di dokumen desain.
    Kode sumber 1
    Kode sumber 2

  • Tidak aman: Origin permintaan tidak aman, dan uji coba tidak diaktifkan untuk origin yang tidak aman. Seperti yang dijelaskan dalam kode validator token uji coba origin: 'Untuk token pihak ketiga, origin saat ini dan origin skrip harus aman. Karena pencocokan subdomain, asal token mungkin tidak sama persis dengan salah satu asal skrip yang disediakan, dan hasilnya tidak menunjukkan asal spesifik mana yang cocok. Artinya, ini bukanlah pencarian langsung untuk menemukan asal skrip yang sesuai. Untuk menghindari pembuatan ulang semua perbandingan origin, ada pintasan yang bergantung pada jumlah origin skrip yang disediakan. Setidaknya harus ada satu, atau token pihak ketiga tidak akan berhasil divalidasi.'
    Kode sumber

  • InvalidSignature: Token memiliki tanda tangan yang tidak valid atau salah format.
    Kode sumber

  • Format salah: Format token salah dan tidak dapat diuraikan.
    Kode sumber

  • NotSupported: Uji coba origin yang ditentukan oleh token tidak didukung di 'embedder' Chromium: browser seperti Chrome atau Edge, WebView, atau beberapa agen pengguna lainnya.
    Kode sumber

  • Sukses: Token dibentuk dengan baik, belum habis masa berlakunya, cocok dengan fitur uji coba origin, dan diminta dari origin yang diharapkan.
    Kode sumber

  • TokenDisabled: Token telah ditandai sebagai nonaktif dan tidak dapat digunakan.
    Kode sumber

  • TrialNotAllowed: Uji coba origin tidak tersedia untuk pengguna saat ini.
    Kode sumber

  • UnknownTrial: Token ini menentukan nama fitur yang tidak cocok dengan uji coba apa pun yang diketahui.
    Kode sumber

  • WrongOrigin: Asal permintaan tidak cocok dengan asal yang ditentukan dalam token. Hal ini dapat mencakup skema, nama host, atau port. Status ini juga akan ditampilkan jika token pihak ketiga disediakan dalam header HTTP, tag meta, atau skrip inline, dan bukan dari file JavaScript eksternal.
    Kode sumber

  • WrongVersion: Versi token salah: saat ini hanya token versi 2 dan 3 yang didukung.
    Kode sumber


Tidak berhasil. 🤔

Jika uji coba origin Anda tidak berfungsi seperti yang diharapkan, pastikan Anda telah memenuhi kondisi berikut.

Anda melakukan pengujian di Chrome, bukan Chromium atau browser lain

Uji coba origin Chrome dirancang agar berfungsi untuk pengguna Chrome. Jangan mengandalkan token uji coba origin Chrome untuk mengaktifkan fitur uji coba di browser lain, termasuk Chromium, dan browser berbasis Chromium lainnya. Hal ini karena uji coba origin Chrome khusus untuk fitur yang tersedia di Chrome untuk eksperimen.

Uji coba origin juga tersedia untuk Firefox dan Microsoft Edge. Pendaftaran dalam uji coba origin Firefox atau Edge tidak akan mengaktifkan fitur di Chrome.

Uji coba origin diaktifkan untuk versi Chrome yang mengakses situs Anda

Akses ke uji coba dibatasi untuk versi Chrome tertentu. Dalam beberapa kasus, hal ini mungkin berarti fitur uji coba hanya tersedia untuk saluran Chrome yang sudah stabil: Canary, Dev, dan Beta.

Anda dapat memeriksa ketersediaan versi dari halaman pendaftaran untuk uji coba:

Halaman Uji Coba Origin Chrome
untuk Set Pihak Pertama & SameParty dengan ketersediaan Chrome ditandai

Anda dapat memeriksa versi Chrome yang digunakan dari chrome://version.

Uji coba origin tidak dinonaktifkan oleh setelan Chrome

Jika pengguna melaporkan bahwa fitur tidak berfungsi, pastikan fitur tersebut tidak dinonaktifkan di setelan Chrome-nya. Misalnya, fitur Privacy Sandbox dapat dinonaktifkan dari halaman chrome://settings/privacySandbox.

Kata kunci dan sintaksis sudah benar

Pastikan untuk menggunakan kata kunci dan sintaksis yang sesuai untuk token uji coba origin.

Untuk penggunaan pihak pertama, token dapat diberikan dalam tag meta origin-trial:

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Atau, token dapat diberikan di header respons Origin-Trial. Berikut adalah contoh penggunaan Express di Node.js:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

Token juga dapat diberikan menggunakan JavaScript:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Asal token pihak pertama cocok dengan asal halaman

Pastikan nilai Asal Web yang dipilih saat Anda mendaftar untuk uji coba cocok dengan asal halaman yang memiliki tag atau header meta yang memberikan token.

Misalnya, jika Anda memilih https://example.com sebagai Web Origin:

Halaman Uji Coba Origin Chrome
yang menampilkan https://example.com yang dipilih sebagai Origin Web.

Anda mungkin mendapatkan nilai token seperti ini:

Halaman Uji Coba Origin Chrome
yang menampilkan nilai token.

Periksa apakah nilai ini cocok dengan token yang digunakan di halaman yang Anda pecahkan masalahnya.

Untuk token yang diberikan dalam tag meta, periksa HTML:

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Untuk token yang diberikan di header, Anda dapat memeriksa nilai token dari panel Jaringan Chrome DevTools di bagian Header Respons:

Panel Jaringan Chrome DevTools
yang menampilkan header respons uji coba origin.

Token pihak pertama ditayangkan dari origin yang menggunakannya

Untuk mengaktifkan akses ke fitur uji coba origin untuk kode yang disertakan dalam halaman yang ditayangkan dari origin Anda, berikan token uji coba di tag meta, header, atau melalui JavaScript dari origin yang sama.

Origin yang terdaftar untuk token harus cocok dengan origin yang menayangkannya.

Asal token pihak ketiga cocok dengan asal skrip

Anda dapat mendaftar untuk berpartisipasi dalam uji coba origin untuk skrip yang dimasukkan di origin lain.

Misalnya, jika Anda ingin skrip yang ditayangkan dari javascript-library.example untuk berpartisipasi dalam uji coba origin, Anda harus mendaftarkan token dengan pencocokan pihak ketiga untuk javascript-library.example.

Halaman pendaftaran uji coba origin Chrome
yang menampilkan pencocokan pihak ketiga yang dipilih.

Nilai origin untuk token pihak ketiga harus cocok dengan origin skrip yang memasukkannya.

Skrip pihak ketiga menggunakan token pihak ketiga

Anda tidak dapat mengaktifkan skrip pihak ketiga untuk berpartisipasi dalam uji coba origin di situs Anda hanya dengan mendaftarkan token untuk origin Anda, bukan untuk skrip.

Skrip pihak ketiga harus menggunakan token dengan pencocokan pihak ketiga yang diaktifkan, yang dimasukkan melalui skrip itu sendiri (tidak disertakan dalam tag meta atau header di situs Anda) menggunakan kode seperti berikut:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Token pihak ketiga diberikan melalui skrip eksternal, bukan tag meta, header HTTP, atau skrip inline

Token pihak ketiga divalidasi berdasarkan asal skrip yang memasukkannya, tetapi skrip inline dan tag <meta> dalam markup statis tidak memiliki asal (yaitu URL sumber).

Artinya, token pihak ketiga harus diberikan melalui skrip eksternal, bukan dalam tag <meta> atau skrip inline. Tidak masalah apakah skrip eksternal yang memasukkan token berasal dari asal yang sama dengan halaman yang memuatnya, atau asal yang berbeda, selama asal skrip cocok dengan origin yang terdaftar untuk uji coba.

Anda dapat melihat demonya di ot-iframe-3p.glitch.me.

Akses fitur uji coba origin didukung untuk metode yang digunakan untuk memberikan token uji coba

Beberapa jenis akses ke fitur uji coba origin mengharuskan Anda memberikan token uji coba dengan cara tertentu. Misalnya, satu-satunya cara untuk mengaktifkan akses uji coba origin untuk pekerja layanan dan pekerja bersama adalah dengan menyediakan token di header Origin-Trial.

Pencocokan subdomain diaktifkan untuk token yang digunakan di subdomain

Jika fitur uji coba origin tampaknya tidak berfungsi untuk beberapa halaman di situs Anda, pastikan token disiapkan dengan benar untuk subdomain yang menayangkannya.

Saat mendaftar untuk uji coba origin, Anda dapat memilih untuk mencocokkan semua subdomain origin secara opsional:

Halaman pendaftaran uji coba origin Chrome yang menampilkan pencocokan subdomain yang dipilih

Anda juga dapat mencocokkan subdomain untuk token pihak ketiga:

Halaman pendaftaran uji coba origin Chrome yang menampilkan pencocokan pihak ketiga dan pencocokan subdomain yang dipilih

Token subdomain tidak akan diterbitkan untuk origin dalam Daftar Akhiran Publik. Misalnya, Anda tidak dapat mendaftarkan origin seperti https://appspot.com atau https://github.io, meskipun Anda dapat mendaftarkan domain dalam origin tersebut, seperti https://example.appspot.com atau https://example.github.io.

Token masih valid

Token berlaku selama enam minggu setelah dibuat. Selain itu, Anda harus mengirimkan masukan untuk memperpanjang tanggal Berlaku Hingga. Panduan Uji Coba Origin untuk Developer Web menjelaskan cara memastikan token Anda valid untuk seluruh uji coba origin.

Anda dapat memeriksa token aktif di halaman Pendaftaran Saya Uji Coba Origin Chrome:

Uji coba origin Chrome 
Halaman Pendaftaran saya menampilkan tanggal Berlaku Hingga

Chrome DevTools menampilkan Status Success jika token masih valid:

Informasi uji coba origin Chrome DevTools
di panel Application, menandai Status: Success.

Jika token Anda telah habis masa berlakunya, DevTools akan menampilkan status Expired dan halaman Pendaftaran Saya akan menampilkan bagian Token yang Habis Masa Berlaku.

Uji coba origin Chrome 
Halaman Pendaftaran saya menampilkan token yang telah berakhir masa berlakunya.

Uji coba origin belum berakhir

Anda dapat memeriksa tanggal akhir uji coba origin dari halaman pendaftaran:

Halaman Uji Coba Origin Chrome
untuk Set Pihak Pertama & SameParty dengan detail Uji Coba Tersedia ditandai.

Untuk uji coba yang telah berakhir, DevTools akan menampilkan tampilan seperti ini:

Informasi uji coba origin
Chrome DevTools di panel Application yang menampilkan ValidTokenNotProvided dan Status Kedaluwarsa

Anda akan menerima email otomatis saat masukan diperlukan atau masa berlaku token akan berakhir, meskipun bukan saat uji coba berakhir.

Uji coba origin tersedia untuk pengguna saat ini

Beberapa uji coba origin tidak tersedia untuk pengguna tertentu, meskipun token yang valid diberikan.

Jika uji coba tidak tersedia untuk pengguna saat ini, Chrome DevTools akan menampilkan peringatan TrialNotAllowed:

Informasi uji coba origin Chrome DevTools di panel Application yang menampilkan peringatan TrialNotAllowed.

Informasi tentang batasan penggunaan dan ketersediaan akan diberikan untuk setiap uji coba origin.

Seperti fitur platform web lainnya, Anda harus menggunakan deteksi fitur untuk mengonfirmasi bahwa fitur uji coba origin didukung sebelum Anda menggunakannya.

Pembatasan penggunaan uji coba origin belum terlampaui

Secara default, fitur uji coba origin akan diaktifkan di halaman yang memiliki token yang valid untuk uji coba tersebut.

Namun, kecuali dalam kasus yang jarang terjadi, penggunaan uji coba origin dibatasi hingga maksimum 0,5% dari semua pemuatan halaman Chrome. Fitur uji coba origin akan dinonaktifkan jika total penggunaan oleh semua pengguna Chrome melebihi jumlah tersebut. DevTools akan menampilkan status token sebagai dinonaktifkan.

Tidak ada batas penggunaan untuk uji coba penghentian, karena uji coba ini tidak memperkenalkan fitur baru, sehingga tidak menimbulkan risiko membuat proporsi signifikan web bergantung pada fitur uji coba.

Beberapa uji coba juga menyediakan opsi untuk membatasi penggunaan, yang berarti fitur uji coba origin akan dinonaktifkan untuk beberapa pengguna. Opsi ini tersedia di halaman pendaftaran untuk uji coba origin yang menawarkannya:

Halaman pendaftaran uji coba origin Chrome
yang menampilkan batasan penggunaan.

Jika Anda melihat bahwa akses pengguna ke fitur uji coba origin lebih rendah dari yang diharapkan, pastikan 'Batas Standar' dipilih.

Iframe menyediakan tokennya sendiri

Untuk mengizinkan akses ke fitur uji coba origin, iframe harus menyediakan token dalam tag meta, header HTTP, atau secara terprogram. Iframe tidak mewarisi akses ke fitur yang diaktifkan untuk halaman yang berisinya.

ot-iframe.glitch.me menunjukkan akses ke fitur uji coba origin dari iframe. ot-iframe-3p.glitch.me memberikan beberapa contoh iframe lintas origin.

Kebijakan izin dikonfigurasi dengan benar

Beberapa fitur uji coba origin mungkin terpengaruh oleh header Permissions-Policy (sebelumnya dikenal sebagai header Feature-Policy). Anda dapat memeriksanya di Intent to Experiment untuk fitur uji coba, atau di dokumentasi developer untuk fitur tersebut di web.dev atau developer.chrome.com/blog.

Pastikan fitur yang Anda coba akses tidak diblokir oleh perintah Permissions-Policy. Anda dapat memeriksa header respons di panel Jaringan Chrome DevTools, dan melihat daftar lengkap fitur yang diizinkan di panel Application.

Panel Aplikasi Chrome DevTools, yang menampilkan Fitur yang Diizinkan Kebijakan Izin.

Bagaimana dengan para pekerja?

Fitur uji coba origin dapat disediakan untuk pekerja layanan, pekerja bersama, dan pekerja khusus. Namun, satu-satunya cara untuk mengaktifkan akses bagi pekerja layanan dan pekerja bersama adalah dengan menyediakan token di header Origin-Trial.

Pekerja khusus mewarisi akses ke fitur yang diaktifkan oleh dokumen induknya.

Token diberikan sebelum fitur diakses

Pastikan token uji coba origin disediakan sebelum fitur uji coba diakses. Misalnya, jika halaman menyediakan token melalui JavaScript, pastikan kode untuk memberikan token dijalankan sebelum kode yang mencoba mengakses fitur uji coba.

Demo uji coba origin

Cari tahu selengkapnya