Atasi masalah umum pada token uji coba dalam tag meta, header, dan skrip.
Checklist
Untuk memecahkan masalah uji coba origin, selesaikan setiap masalah di bawah ini menggunakan link yang disediakan.
Cobalah!
Demo di bawah ini menunjukkan setiap cara untuk memberikan token uji coba origin dan mengakses fitur uji coba:
- ot-meta.glitch.me: token dalam tag meta
origin-trial
- ot-header.glitch.me: token di header respons
Origin-Trial
- ot-3p.glitch.me: token yang dimasukkan oleh skrip pihak ketiga
- ot-iframe.glitch.me: fitur uji coba origin yang diakses di iframe
- ot-iframe-3p.glitch.me: contoh iframe lintas origin
Menggunakan Chrome DevTools untuk memeriksa token
Dari Chrome 93 DevTools menyediakan informasi uji coba asal di panel Aplikasi untuk bingkai yang dipilih.
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 dalam iframe menyediakan token.
- Status Token: Apakah halaman memiliki token yang valid. Perlu diperhatikan bahwa untuk beberapa uji coba origin, mungkin ada faktor lain, seperti batasan geografis. Artinya, 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 masa berlaku maksimum (terbaru) yang memungkinkan untuk token, yang biasanya akan cocok dengan akhir masa berlaku uji coba. Tanggal ini tidak sama dengan tanggal Valid Hingga untuk token yang ditampilkan di Pendaftaran Saya, , yang menunjukkan berapa lama token saat ini valid, dan dapat diperpanjang.
- Batasan 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 perlu diakses di beberapa situs dari skrip pihak ketiga.
- Pencocokan Sub-Domain: Apakah pencocokan subdomain diaktifkan untuk token. Hal ini memungkinkan fitur uji coba origin diuji di beberapa subdomain dari suatu 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 sudah tidak berlaku, atau jika ada pembatasan lain.
Kode status Chrome DevTools
Masa berlaku habis: Token telah melewati tanggal habis masa berlakunya. Token harus diperpanjang untuk membuat token baru dengan tanggal habis masa berlaku yang baru.
Kode sumberFeatureDisabled: Uji coba saat ini dinonaktifkan untuk digunakan.
Kode sumberFeatureDisabledForUser: Token ini telah ditetapkan sebagai dinonaktifkan untuk pengguna saat ini melalui pembatasan penggunaan alternatif. Lihat bagian "Pengecualian Subset Pengguna" dalam dokumen desain.
Kode sumber 1
Kode sumber 2Tidak aman: Asal 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 bukan pencocokan persis untuk salah satu origin skrip yang disediakan, dan hasilnya tidak menunjukkan asal spesifik mana yang cocok. Artinya, ini bukan pencarian langsung untuk menemukan asal skrip yang sesuai. Untuk menghindari pengulangan semua perbandingan origin, ada pintasan yang bergantung pada jumlah origin skrip yang disediakan. Harus ada minimal satu, atau token pihak ketiga tidak akan berhasil divalidasi.'
Kode sumberInvalidSignature: Token memiliki tanda tangan yang tidak valid atau salah format.
Kode sumberSalah format: 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 sumberBerhasil: Token diformat dengan baik, belum habis masa berlakunya, cocok dengan fitur uji coba origin, dan diminta dari asal yang diharapkan.
Kode sumberTokenDisabled: Token telah ditandai sebagai dinonaktifkan dan tidak dapat digunakan.
Kode sumberTrialNotAllowed: Uji coba origin tidak tersedia untuk pengguna saat ini.
Kode sumberUnknownTrial: Token ini menentukan nama fitur yang tidak cocok dengan uji coba yang diketahui.
Kode sumberWrongOrigin: Asal permintaan tidak cocok dengan origin yang ditentukan dalam token. Hal ini dapat mencakup skema, nama host, atau port. Status ini juga akan ditampilkan jika token pihak ketiga disediakan di header HTTP, tag meta, atau skrip inline, bukan dari file JavaScript eksternal.
Kode sumberWrongVersion: Versi token salah: hanya token versi 2 dan 3 yang saat ini 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 di Chromium atau browser lain
Uji coba origin Chrome dirancang agar berfungsi bagi 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 dikhususkan 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 dapat berarti fitur uji coba hanya tersedia untuk saluran Chrome pra-Stabil: Canary, Dev, dan Beta.
Anda dapat memeriksa ketersediaan versi dari halaman pendaftaran untuk uji coba:
Anda dapat memeriksa versi Chrome yang Anda gunakan dari chrome://version.
Uji coba origin tidak dinonaktifkan oleh setelan Chrome
Jika masing-masing pengguna melaporkan bahwa fitur tertentu tidak berfungsi, periksa apakah fitur tersebut
tidak dinonaktifkan di setelan Chrome. Misalnya, fitur Privacy Sandbox
dapat dinonaktifkan dari halaman chrome://settings/privacySandbox
.
Kata kunci dan sintaksis 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 ini contoh penggunaan Express di Node.js:
app.use(function(req, res, next) {
res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
next();
});
Token juga dapat disediakan 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 origin halaman
Pastikan nilai Asal Web yang dipilih saat Anda mendaftar uji coba cocok dengan origin halaman yang memiliki header atau tag meta yang menyediakan token.
Misalnya, jika Anda memilih https://example.com
sebagai Asal Web:
Anda mungkin mendapatkan nilai token seperti ini:
Periksa apakah nilai ini cocok dengan token yang digunakan di halaman yang masalahnya sedang Anda pecahkan.
Untuk token yang disediakan dalam tag meta, periksa HTML:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Untuk token yang disediakan di header, Anda dapat memeriksa nilai token dari panel Jaringan Chrome DevTools di bagian Header Respons:
Token pihak pertama ditayangkan dari origin yang menggunakannya
Guna mengaktifkan akses ke fitur uji coba origin untuk kode yang disertakan dalam halaman yang ditayangkan dari origin Anda, berikan token uji coba dalam 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 origin skrip
Anda dapat mendaftar untuk berpartisipasi dalam uji coba origin untuk skrip yang dimasukkan pada origin lain.
Misalnya, jika Anda ingin skrip yang ditayangkan dari javascript-library.example
ambil bagian dalam
uji coba origin, Anda harus mendaftarkan token dengan pihak ketiga yang cocok untuk javascript-library.example
.
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 perlu menggunakan token yang mengaktifkan pencocokan pihak ketiga, yang dimasukkan melalui skrip sendiri (tidak disertakan dalam header atau tag meta 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 disediakan melalui skrip eksternal, bukan tag meta, header HTTP, atau skrip inline
Token pihak ketiga divalidasi berdasarkan origin skrip yang memasukkannya, tetapi skrip inline dan tag <meta>
dalam markup statis tidak memiliki origin (yaitu URL sumber).
Artinya, token pihak ketiga harus diberikan melalui skrip eksternal, bukan dalam tag <meta>
atau skrip inline. Tidak masalah jika skrip eksternal yang memasukkan token berasal dari origin yang sama dengan halaman penampung, atau origin yang berbeda, selama origin 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 menyediakan 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 service worker 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 ke uji coba origin, Anda dapat secara opsional memilih untuk mencocokkan semua subdomain origin:
Anda juga dapat mencocokkan subdomain untuk token pihak ketiga:
Token subdomain tidak akan diterbitkan untuk asal dalam Daftar Akhiran Publik. Misalnya, Anda tidak dapat mendaftarkan origin seperti https://appspot.com atau https://github.io, tetapi Anda dapat mendaftar untuk 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 Valid 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 di Uji Coba Origin Chrome:
Chrome DevTools menampilkan Status Success
jika token masih valid:
Jika masa berlaku token telah habis, DevTools akan menampilkan status Expired
dan
halaman Pendaftaran Saya akan menampilkan bagian Token Masa Berlaku.
Uji coba origin belum berakhir
Anda dapat memeriksa tanggal akhir untuk uji coba origin dari halaman pendaftaran:
Untuk uji coba yang telah berakhir, DevTools akan menampilkan seperti ini:
Anda akan menerima email otomatis saat masukan diperlukan atau token akan segera berakhir, meskipun 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 tentang batasan penggunaan dan ketersediaan akan disediakan 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 mana pun yang memiliki token valid untuk uji coba tersebut.
Namun, kecuali dalam kasus yang jarang terjadi, penggunaan uji coba origin dibatasi hingga 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 penggunaan, karena uji coba tersebut tidak memperkenalkan fitur baru, sehingga tidak menimbulkan risiko membuat sebagian besar 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:
Jika Anda melihat bahwa akses pengguna Anda 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 berisi mereka.
ot-iframe.glitch.me menunjukkan akses ke fitur uji coba origin dari iframe. ot-iframe-3p.glitch.me menyediakan 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 dalam 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 Network Chrome DevTools, dan melihat
daftar lengkap fitur yang diizinkan di panel Application.
Bagaimana dengan para pekerjanya?
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 disediakan 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
- Token di tag meta
- Token di header
- Fitur diakses di iframe
- Token yang dimasukkan oleh skrip pihak ketiga
- ot-iframe-3p.glitch.me: contoh iframe lintas origin
Cari tahu selengkapnya
- Mulai menggunakan uji coba origin Chrome
- Uji coba origin pihak ketiga
- Panduan uji coba origin untuk developer web
- Penjelasan uji coba origin
- Menjalankan uji coba origin
- Proses peluncuran fitur baru di Chromium
- Tujuan untuk menjelaskan: Menjelaskan proses pengiriman Blink
- Menggunakan Origin Uji Coba di Microsoft Edge
- Uji coba origin untuk Firefox