Chrome kaynak denemeleriyle ilgili sorunları giderme

Meta etiketler, üstbilgiler ve komut dosyalarındaki deneme jetonlarıyla ilgili yaygın sorunları giderin.

Bu kılavuzda, Chrome'daki kaynak denemeleriyle ilgili bilgi sahibi olduğunuz varsayılmaktadır. Ayrıntılı SSS için Web geliştiricileri için kaynak deneme kılavuzuna bakın.

Chrome'daki kaynak denemeleriyle ilgili bir hatayla karşılaşırsanız Chrome kaynak denemeleri GitHub deposunda yeni bir sorun gönderin.

Yapılacaklar listesi

Kaynak deneme sürümüyle ilgili sorunları gidermek için sağlanan bağlantıları kullanarak sorunların her birini çözün.

Jetonları kontrol etmek için Chrome Geliştirici Araçları'nı kullanma

DevTools, seçilen kare için Uygulama panelinde kaynak deneme bilgilerini sağlar.

Chrome Geliştirici Araçları'ndaki Uygulama panelinde kaynak deneme bilgileri.

Alt çerçeve için kullanılabilen kaynak deneme jetonlarını incelemek üzere üst çerçeveyi genişletin. Örneğin, ot-iframe.glitch.me adresindeki demo sayfasında, iFrame'deki sayfanın bir jeton sağladığını görebilirsiniz.

Chrome Geliştirici Araçları 
  iframe'deki sayfanın kaynak deneme jetonlarını gösteren uygulama paneli.

  • Jeton Durumu: Sayfanın geçerli bir jetonu olup olmadığı. Bazı kaynak denemelerinde, geçerli bir jeton bulunmasına rağmen kaynak deneme özelliğinin kullanılamamasına neden olan coğrafi kısıtlamalar gibi başka faktörler olabileceğini unutmayın. Chrome Geliştirici Araçları durum kodları, kaynak denemeleriyle ilgili kodların her birinin anlamını açıklar.
  • Kaynak: Jeton için kayıtlı Web Kaynağı.
  • Süre sonu zamanı: Jeton için mümkün olan en uzun (son) süre sonu tarihi ve saatidir. Bu tarih ve saat genellikle deneme süresinin sonuyla aynıdır. Bu, Kayıtlarım bölümünde gösterilen jetonun Geçerli Bitiş Tarihi ile aynı değildir. Geçerli Bitiş Tarihi, jetonun ne kadar süreyle geçerli olduğunu gösterir ve uzatılabilir.
  • Kullanım Kısıtlaması: Bazı denemeler için ayarlanabilen kullanım sınırları.
  • Üçüncü Taraf: Jeton için üçüncü taraf eşleştirmenin etkin olup olmadığı. Bu özellik, deneme özelliğine üçüncü taraf komut dosyalarından birden fazla sitede erişilmesi gereken bazı kaynak denemelerinde kullanılabilir.
  • Alt Alanları Eşleştir: Jeton için alt alan adı eşleştirmenin etkin olup olmadığı. Bu sayede, kaynak deneme özelliği her alt alan adı için farklı bir jeton gerektirmeden bir kaynağın birden fazla alt alan adında test edilebilir.

Chrome DevTools, deneme şu durumlarda deneme adının yanında bir uyarı gösterir: deneme mevcut kullanıcı için kullanılamıyorsa, jetonun süresi dolmuşsa veya başka kısıtlamalar varsa.

Süresi dolmuş jetonu gösteren Uygulama panelindeki Chrome Geliştirici Araçları kaynak denemeleri bilgileri

Durum kodları

Chrome Geliştirici Araçları'nda aşağıdaki durum kodlarıyla karşılaşabilirsiniz.

  • Süresi doldu: Jetonun son kullanma tarihi geçti. Kaynak deneme sürümünü yeniden etkinleştirmek için jetonun yenilenmesi gerekir. Yeni bir son kullanma tarihi olan yeni bir jeton oluşturun. Kaynak kod

  • FeatureDisabled: Deneme sürümü kullanıma kapalıdır. Kaynak kod

  • FeatureDisabledForUser: Bu jeton, alternatif bir kullanım kısıtlaması olan mevcut kullanıcı için devre dışı olarak belirlenmiştir. Tasarım dokümanındaki "Kullanıcı Alt Kümesi Hariç Tutmaları" bölümüne bakın. 1. kaynak kod ve 2. kaynak kod

  • Güvenli değil: İstek kaynağı güvenli değil ve güvenli olmayan kaynaklarda deneme etkin değildir. Kaynak deneme jetonu doğrulayıcı kodunda açıklandığı gibi: "Üçüncü taraf jetonları için hem mevcut kaynak hem de komut dosyası kaynağı güvenli olmalıdır. Alt alan adı eşleştirmesi nedeniyle jeton kaynağı, sağlanan komut dosyası kaynaklarından biriyle tam olarak eşleşmeyebilir ve sonuçta hangi kaynağın eşleştiği belirtilmez. Bu, uygun komut dosyası kaynağını bulmak için doğrudan bir arama olmadığı anlamına gelir. Tüm kaynak karşılaştırmalarını yeniden yapmaktan kaçınmak için, kaç komut dosyası kaynağının sağlandığına bağlı kısayollar vardır. En az bir tane olmalıdır. Aksi takdirde üçüncü taraf jetonu başarıyla doğrulanamaz." Kaynak kod

  • InvalidSignature: Jetonun imzası geçersiz veya hatalı biçimlendirilmiş. Kaynak kod

  • Bozuk: Jeton bozuk ve ayrıştırılamadı. Kaynak kod

  • NotSupported: Jeton tarafından tanımlanan kaynak deneme, Chromium yerleştiricisinde desteklenmez. Yerleştiren, bir tarayıcı (Chrome veya Edge gibi), WebView veya başka bir kullanıcı aracısı olabilir. Kaynak kod

  • Başarı: Jeton düzgün biçimlendirilmiş, süresi dolmamış, bir kaynak deneme özelliğiyle eşleşiyor ve beklenen bir kaynaktan isteniyor. Kaynak kod

  • TokenDisabled: Jeton devre dışı olarak işaretlendi ve kullanılamaz. Kaynak kod

  • TrialNotAllowed: Kaynak deneme sürümü mevcut kullanıcı tarafından kullanılamıyor. Kaynak kod

  • UnknownTrial: Jeton, bilinen hiçbir denemeyle eşleşmeyen bir özellik adını belirtir. Kaynak kod

  • WrongOrigin: İstek kaynağı, jetonda belirtilen kaynakla eşleşmiyor. Bu, şemayı, ana makine adını veya bağlantı noktasını içerebilir. Bu durum, harici bir JavaScript dosyasından değil de HTTP başlığında, meta etiketinde veya satır içi komut dosyasında üçüncü taraf jetonu sağlanırsa da gösterilir. Kaynak kod

  • WrongVersion: Yanlış jeton sürümünü kullanıyorsunuz. Yalnızca jeton sürümü 2 ve 3 desteklenir. Kaynak kod


Kaynak denemeleri için gerekli koşullar

Kaynak deneme sürümünüz beklendiği gibi çalışmıyorsa aşağıdaki koşulları karşıladığınızdan emin olun.

Chromium veya başka bir tarayıcıda değil, Chrome'da test yapıyorsunuz

Chrome kaynak denemeleri, Chrome kullanıcıları için çalışacak şekilde tasarlanmıştır. Chrome kaynak deneme jetonları, Chromium ve Chromium tabanlı tarayıcılar da dahil olmak üzere diğer tarayıcılarda özellikleri etkinleştirmez. Bunun nedeni, Chrome kaynak denemelerinin Chrome'da deneme amaçlı olarak kullanıma sunulan özelliklere özel olmasıdır.

Kaynak denemeleri Firefox ve Microsoft Edge için de kullanılabilir. Firefox veya Edge kaynak deneme sürümüne kaydolma, Chrome'da bir özelliği etkinleştirmez.

Kaynak denemesi, sitenize erişen Chrome sürümleri için etkindir.

Kaynak deneme sürümlerine erişim, Chrome'un belirli sürümleriyle sınırlıdır. Bu, deneme özelliğinin yalnızca kararlı sürüm öncesi Chrome kanallarında (Canary, Dev ve Beta) kullanılabileceği anlamına gelebilir.

Deneme sürümünün kullanılabilirliğini deneme sürümünün kayıt sayfasından kontrol edebilirsiniz:

Chrome'un kullanılabilirliği vurgulanan First-Party Sets ve SameParty için Chrome Origin Trials

Kullandığınız Chrome sürümünü chrome://version adresinden kontrol edebilirsiniz.

Kaynak denemesi, Chrome ayarları tarafından devre dışı bırakılmamışsa

Bir kullanıcı, bir özelliğin kendisi için çalışmadığını bildirirse özelliğin Chrome ayarlarında devre dışı bırakılmadığından emin olun. Örneğin, belirli Özel Korumalı Alan özellikleri chrome://settings/adPrivacy sayfasından devre dışı bırakılabilir.

Anahtar kelimeler ve söz dizimi doğru olmalıdır.

Kaynak deneme jetonları için uygun anahtar kelimeler ve söz dizimi kullandığınızdan emin olun.

Birinci taraf kullanımı için origin-trial meta etiketinde bir jeton sağlanabilir:

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

Alternatif olarak, Origin-Trial yanıt başlığında bir jeton sağlanabilir. Node.js'de Express kullanan bir örneği aşağıda bulabilirsiniz:

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

Jetonlar JavaScript ile de sağlanabilir:

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

Birinci taraf jetonu kaynağı, sayfa kaynağıyla eşleşiyor

Deneme sürümüne kaydolurken seçtiğiniz Web Kaynağı değerinin, jetonu sağlayan meta etiketi veya üstbilginin bulunduğu sayfanın kaynağıyla eşleştiğinden emin olun.

Örneğin, Web Kaynağı olarak https://example.com'ü seçtiyseniz:

Web kaynağı olarak https://example.com&#39;un seçildiğini gösteren Chrome Kaynak Deneme Sürümleri sayfası.

Aşağıdaki gibi bir jeton değeri alabilirsiniz:

Jeton değerini gösteren Chrome Origin Trials sayfası.

Bu değerin, sorun giderdiğiniz sayfada kullanılan jetonla eşleştiğinden emin olun.

Meta etiketinde sağlanan jeton için HTML'yi kontrol edin:

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

Bir başlıkta sağlanan jetonun değerini, Yanıt Başlıkları altındaki Chrome Geliştirici Araçları Ağ panelinden kontrol edebilirsiniz:

Başlangıç denemesi yanıt başlığını gösteren Chrome Geliştirici Araçları Ağ paneli.

Birinci taraf jetonu, onu kullanan kaynaktan yayınlanır

Kaynaktan yayınlanan bir sayfaya dahil edilen kod için kaynak deneme özelliğine erişimi etkinleştirmek istiyorsanız meta etikette, üstbilgide veya aynı kaynaktan JavaScript ile bir deneme jetonu sağlayın.

Bir jeton için kayıtlı kaynak, jetonu sunan kaynakla eşleşmelidir.

Üçüncü taraf jeton kaynağı, komut dosyası kaynağıyla eşleşiyor

Diğer kaynaklara yerleştirilen komut dosyaları için bir kaynak denemesine katılmak üzere kaydolabilirsiniz.

Örneğin, javascript-library.example adresinden yayınlanan komut dosyalarının bir kaynak denemesine katılmasını istiyorsanız javascript-library.example için üçüncü taraf eşleştirmeyle bir jeton kaydetmeniz gerekir.

Üçüncü taraf eşleştirmenin seçili olduğunu gösteren Chrome kaynak deneme kayıt sayfası.

Üçüncü taraf jetonunun kaynak değeri, jetonu ekleyen komut dosyasının kaynağıyla eşleşmelidir.

Üçüncü taraf komut dosyası, üçüncü taraf jetonu kullanıyor

Yalnızca kaynağınız için bir jeton kaydedip komut dosyasını unutarak sitenizde bir kaynak denemesine katılacak üçüncü taraf komut dosyasını etkinleştiremezsiniz.

Üçüncü taraf komut dosyalarının, üçüncü taraf eşlemenin etkinleştirildiği ve komut dosyasının içine yerleştirildiği jetonları kullanması gerekir. Bu jetonlar, sitenizdeki bir meta etikete veya başlığa dahil edilemez. JavaScript aşağıdaki gibi görünebilir:

// Add a third-party OT token
function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Üçüncü taraf jetonu, meta etiket, HTTP üst bilgisi veya satır içi komut dosyası yerine harici bir komut dosyası ile sağlanıyor

Üçüncü taraf jetonları, bunları enjekte eden komut dosyasının kaynağına göre doğrulanır. Ancak statik işaretlemedeki satır içi komut dosyalarının ve <meta> etiketlerinin kaynağı yoktur.

Bu, üçüncü taraf jetonunun <meta> etiketinde veya satır içi komut dosyasında değil, harici bir komut dosyasıyla sağlanması gerektiği anlamına gelir. Jetonu ekleyen harici komut dosyasının, içeren sayfayla aynı kaynaktan mı yoksa farklı bir kaynaktan mı geldiği önemli değildir. Önemli olan, komut dosyasının kaynağının deneme için kayıtlı bir kaynakla eşleşmesidir.

Bununla ilgili bir demoyu ot-iframe-3p.glitch.me adresinde bulabilirsiniz.

Kaynak deneme özelliğine erişim, deneme jetonu sağlamak için kullanılan yöntem için desteklenir

Kaynak deneme özelliklerine erişim için bazı türlerde, deneme jetonunu belirli bir şekilde sağlamanız gerekir. Örneğin, hizmet işçileri ve paylaşılan işçiler için kaynak deneme erişimini etkinleştirmenin tek yolu, Origin-Trial başlığında bir jeton sağlamaktır.

Alt alan adında kullanılan bir jeton için alt alan adı eşleştirme etkinleştirilir.

Bir kaynak deneme özelliği, sitenizdeki bazı sayfalarda çalışmıyorsa jetonların, bu sayfaları sunan alt alan adları için doğru şekilde ayarlandığından emin olun.

Bir kaynak denemesine kaydolurken isteğe bağlı olarak kaynağın tüm alt alan adlarını eşleştirmeyi seçebilirsiniz:

Alt alan adı eşleştirmenin seçili olduğunu gösteren Chrome kaynak deneme kayıt sayfası

Üçüncü taraf jetonları için alt alanları da eşleştirebilirsiniz:

Üçüncü taraf eşleştirme ve alt alan adı eşleştirmenin seçili olduğunu gösteren Chrome kaynak deneme kayıt sayfası

Herkese Açık Son Ek Listesi'ndeki kaynaklar için alt alan adı jetonları dağıtılmaz. Örneğin, https://appspot.com veya https://github.io gibi bir kaynağı kaydedemezsiniz ancak bu kaynaktaki alanlara (ör. https://example.appspot.com veya https://example.github.io) kayıt olabilirsiniz.

Jeton hâlâ geçerliyse

Jetonlar, oluşturulduktan altı hafta sonra geçerliliğini yitirir. Ayrıca, Geçerlilik Bitiş Tarihi'ni uzatmak için geri bildirim göndermeniz gerekir. Web Geliştiricileri İçin Kaynak Deneme Kılavuzu'nda, jetonunuzun bir kaynak denemesinin tamamı için geçerli olduğundan nasıl emin olacağınız açıklanmaktadır.

Etkin jetonları Chrome Origin Trials Kayıtlarım sayfasından kontrol edebilirsiniz:

Chrome kaynak deneme sürümleri 
Geçerlilik Bitiş Tarihi&#39;ni gösteren Kayıtlarım sayfası

Jeton hâlâ geçerliyse Chrome Geliştirici Araçları Durum Success değerini gösterir:

Chrome Geliştirici Araçları&#39;nda, Uygulama panelinde kaynak deneme bilgileri. Durum: Başarı vurgulanmıştır.

Jetonunuzun süresi dolmuşsa DevTools'ta Expired durumu, Kayıtlarım sayfanızda ise Süresi Dolmuş Jetonlar bölümü gösterilir.

Chrome kaynak deneme sürümleri Expired tokens (Süresi dolan jetonlar) gösterilen Kayıtlarım sayfası.

Kaynak denemesi devam ediyor

Bir kaynak denemenin bitiş tarihini kayıt sayfasından kontrol edebilirsiniz:

First-Party Sets ve SameParty için Chrome Origin Trials sayfası (Deneme Sürümü Kullanılabilir ayrıntıları vurgulanmıştır).

DevTools, süresi dolan deneme sürümleri için aşağıdaki gibi bir mesaj gösterir:

Chrome Geliştirici Araçları&#39;ndaki Uygulama panelinde ValidTokenNotProvided ve Status Expired (Geçerli Token Sağlanmadı ve Durum Süresi Dolmuş) mesajlarını gösteren kaynak deneme bilgileri

Geri bildirim gerektiğinde veya jetonun süresi dolmak üzere olduğunda otomatik e-postalar gönderilir ancak deneme sona erdiğinde gönderilmez.

Kaynak denemesi mevcut kullanıcı tarafından kullanılabilir

Geçerli bir jeton sağlansa bile bazı kaynak denemeleri belirli kullanıcılar tarafından kullanılamaz.

Mevcut kullanıcı için deneme sürümü kullanılamıyorsa Chrome DevTools bir TrialNotAllowed uyarısı gösterir:

TrialNotAllowed uyarısını gösteren Uygulama panelinde Chrome DevTools kaynak denemeleri bilgileri.

Her kaynak denemesi için kullanım kısıtlamaları ve kullanılabilirlik hakkında bilgi sağlanır.

Herhangi bir web platformu özelliğinde olduğu gibi, bir kaynak deneme özelliğini kullanmadan önce özelliğin desteklendiğini onaylamak için özellik algılama özelliğini kullanmanız gerekir.

Kaynak deneme kullanım kısıtlamaları aşılmış olmamalıdır.

Varsayılan olarak, deneme için geçerli bir jetonu olan tüm sayfalarda kaynak deneme özelliği etkindir.

Nadir durumlar hariç olmak üzere, kaynak deneme kullanımı tüm Chrome sayfa yüklemelerinin en fazla% 0,5'i ile sınırlıdır. Tüm Chrome kullanıcılarının toplam kullanımı bu tutarı aşarsa kaynak deneme özelliği devre dışı bırakılır. DevTools, jeton durumunu devre dışı olarak gösterir.

Yeni özellikler sunmadıkları ve bu nedenle web'in önemli bir bölümünü deneme özelliğine bağımlı hale getirme riski oluşturmadıkları için desteği sonlandırılan deneme sürümleri için kullanım sınırı yoktur.

Bazı deneme sürümlerinde kullanım sınırlama seçeneği sunulur. Bu durumda, orijinal deneme sürümünün özellikleri bazı kullanıcılar için devre dışı bırakılır. Bu seçenek, sunulduğu kaynak deneme sürümünün kayıt sayfasında sunulur:

Kullanım kısıtlamalarını gösteren Chrome kaynak denemeleri kayıt sayfası.

Kullanıcılarınızın bir kaynak deneme özelliğine erişiminin beklenenden düşük olduğunu fark ederseniz Standart Sınır'ın seçildiğinden emin olun.

Iframes kendi jetonlarını sağlar

Bir kaynak deneme özelliğine erişime izin vermek için iFrame'in meta etiketinde, HTTP üst bilgisinde veya programlı olarak bir jeton sağlaması gerekir. Iframe'ler, kendilerini içeren sayfalarda etkinleştirilen özelliklere erişimi devralmaz.

ot-iframe.glitch.me, bir kaynak deneme özelliğine iframe'den erişimi gösterir. ot-iframe-3p.glitch.me, birden fazla kaynaklar arası iframe örneği sağlar.

İzin politikaları doğru şekilde yapılandırılmış olmalıdır.

Bazı kaynak deneme özellikleri Permissions-Policy'den etkilenebilir. Bunu, deneme özelliğinin Deneme bölümünde veya developer.chrome.com/docs adresindeki özellikle ilgili geliştirici belgelerinde kontrol edebilirsiniz.

Erişmeye çalıştığınız özelliğin bir Permissions-Policy yönergesi tarafından engellenmediğinden emin olun. Yanıt başlıklarını Chrome Geliştirici Araçları panelinde kontrol edebilir ve izin verilen özelliklerin tam listesini Uygulama panelinde görüntüleyebilirsiniz.

İzinler Politikası&#39;na İzin Verilen Özellik&#39;i gösteren Chrome Geliştirici Araçları Uygulama paneli.

Peki ya işçiler?

Kaynak deneme özellikleri, hizmet işçileri, paylaşılan işçiler ve özel işçiler tarafından kullanılabilir. Hizmet çalışanları ve paylaşılan çalışanlar için erişimi etkinleştirmek amacıyla Origin-Trial başlığında bir jeton sağlamanız gerekir.

Özel çalışanlar, üst doküman tarafından etkinleştirilen özelliklere erişimi devralır.

Jeton, özelliğe erişilmeden önce sağlanır.

Deneme özelliğine erişilmeden önce bir kaynak deneme jetonu sağlandığından emin olun. Örneğin, bir sayfa JavaScript ile jeton sağlıyorsa jetonu sağlayacak kodun, deneme sürümüne erişmeye çalışan koddan önce çalıştırıldığından emin olun.

Kaynak deneme demoları

Aşağıdaki sitelerde jeton dağıtımı örnekleri gösterilmektedir.

Kaynak deneme jetonu sağlama

Kaynak deneme araçları

Kaynak denemesinde bulunan özellikler

Aşağıda, devam eden kaynak denemelerindeki API'ler için demolar verilmiştir.

Daha fazla bilgi