Chrome kaynak denemeleriyle ilgili sorunları giderme

Meta etiketler, başlıklar ve komut dosyalarındaki deneme jetonlarıyla ilgili yaygın sorunları giderin.

Yapılacaklar listesi

Kaynak denemesinde sorun gidermek için sağlanan bağlantıları kullanarak aşağıdaki sorunları birer birer çözün.

Yenilikleri inceleyin.

Aşağıdaki demolarda, kaynak deneme jetonu sağlamanın ve deneme özelliğine erişmenin her yolu gösterilmektedir:

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

Chrome 93'ten itibaren Geliştirici Araçları, seçili çerçeve için Uygulama panelinde kaynak deneme bilgilerini sağlar.

Chrome Geliştirici Araçları'ndaki Uygulama panelinde kaynak denemeleriyle ilgili bilgiler.

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ğı.
  • Sona erme zamanı: Jeton için mümkün olan en uzun (en son) geçerlilik bitiş tarihi/saati. Bu tarih normalde deneme süresinin sonuyla aynıdır. Bu, Kayıtlarım bölümünde gösterilen jetonun Geçerlilik Bitiş Tarihi ile aynı değildir. Geçerlilik Bitiş Tarihi, jetonun şu anda 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 etkinleştirilip etkinleştirilmediği. 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 etkinleştirilip etkinleştirilmediği. Bu sayede, her alt alan adı için farklı bir jeton gerekmeden bir kaynak deneme özelliğinin bir kaynağın birden fazla alt alan adında test edilmesi sağlanır.

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

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

Chrome Geliştirici Araçları durum kodları

  • Süresi doldu: Jetonun son kullanma tarihi geçti. Yeni bir son kullanma tarihine sahip yeni bir jeton oluşturmak için jetonun yenilenmesi gerekir.
    Kaynak kod

  • FeatureDisabled: Deneme sürümü şu anda kullanılamıyor.
    Kaynak kod

  • FeatureDisabledForUser: Bu jeton, alternatif bir kullanım kısıtlaması aracılığıyla 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.
    Kaynak kod 1
    Kaynak kod 2

  • Güvenli değil: İstek kaynağı güvenli değil ve güvenli olmayan kaynaklar için deneme etkin değil. 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şmesi nedeniyle, jeton kaynağı, sağlanan komut dosyası kaynaklarından biriyle tam olarak eşleşmeyebilir ve sonuç, hangi belirli kaynağın eşleştiğini belirtmez. 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 geçersiz veya hatalı bir imzası var.
    Kaynak kod

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

  • NotSupported: Jeton tarafından tanımlanan kaynak denemesi Chromium "embedder" öğesinde desteklenmez: Chrome veya Edge gibi bir tarayıcı, WebView ya da başka bir kullanıcı aracısı.
    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 kodu

  • UnknownTrial: Jeton, bilinen herhangi bir denemeyle eşleşmeyen bir özellik adı 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 üst bilgisi, meta etiketi veya satır içi komut dosyasında bir üçüncü taraf jetonu sağlanırsa da gösterilir.
    Kaynak kod

  • WrongVersion: Yanlış jeton sürümü: Şu anda yalnızca 2 ve 3 numaralı jeton sürümleri desteklenmektedir.
    Kaynak kod


Çalışmıyor. 🤔

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 ediyorsunuz

Chrome kaynak denemeleri, Chrome kullanıcıları için çalışacak şekilde tasarlanmıştır. Chromium ve diğer Chromium tabanlı tarayıcılarda deneme özelliklerini etkinleştirmek için Chrome kaynak deneme jetonlarına güvenmeyin. Bunun nedeni, Chrome kaynak denemelerinin Chrome'da deneme amaçlı olarak sunulan özelliklere özgü 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.

Deneme sürümlerine erişim, Chrome'un belirli sürümleriyle sınırlıdır. Bazı durumlarda bu, deneme özelliğinin yalnızca kararlı sürüm öncesi Chrome kanallarında (Canary, Geliştirici 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ğinin vurgulandığı First-Party Sets ve SameParty için Chrome Origin Trials sayfası

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, Özel Korumalı Alan özellikleri chrome://settings/privacySandbox sayfasından devre dışı bırakılabilir.

Anahtar kelimeler ve söz dizimi doğru

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

Birinci taraf kullanımı için origin-trial meta etiketinde 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 kullanılarak da 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 için kaydolurken seçilen Web Kaynağı değerinin, jetonu sağlayan meta etiketi veya başlığı içeren sayfanın kaynağıyla eşleştiğinden emin olun.

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

Chrome Kaynak Denemeleri
sayfasında Web Kaynağı olarak https://example.com&#39;un seçili olduğunu görebilirsiniz.

Şuna benzer bir jeton değeri alabilirsiniz:

Jeton değerini gösteren Chrome Kaynak Deneme Sürümü sayfası.

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

Meta etikette sağlanan bir 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 jeton, bunu kullanan kaynaktan sunulur

Kaynaktan yayınlanan bir sayfaya dahil edilen kod için kaynak deneme özelliğine erişimi etkinleştirmek istiyorsanız meta etiket, üstbilgi veya aynı kaynaktan JavaScript aracılığıyla 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ştirmeye bir jeton kaydettirmeniz 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ı, bir üçüncü taraf jetonu kullanıyor

Bir üçüncü taraf komut dosyasının, komut dosyası için değil, sadece kaynağınız için bir jeton kaydederek sitenizdeki kaynak denemesinde yer almasını sağlayamazsınız.

Üçüncü taraf komut dosyalarının, üçüncü taraf eşleştirmenin etkin olduğu jetonları kullanması gerekir. Bu jetonlar, aşağıdaki gibi bir kod kullanılarak komut dosyası aracılığıyla (sitenizdeki bir meta etikete veya başlığa dahil edilmez) enjekte edilir:

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ı aracılığıyla sağlanır.

Üçüncü taraf jetonları, bunları yerleştiren 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 bir kaynağı (kaynak URL'si) yoktur.

Bu, üçüncü taraf jetonunun <meta> etiketinde veya satır içi komut dosyasında değil, harici bir komut dosyası aracılığıyla sağlanması gerektiği anlamına gelir. Komut dosyasının kaynağı deneme için kayıtlı bir kaynakla eşleştiği sürece, jetonu yerleştiren harici komut dosyasının kapsayıcı sayfayla aynı kaynaktan veya farklı bir kaynaktan gelmesi önemli değildir.

Bunun bir demosunu ot-iframe-3p.glitch.me adresinde görebilirsiniz.

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 çalışanları ve paylaşılan çalışanlar 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 kaynak içindeki https://example.appspot.com veya https://example.github.io gibi alanlar için kaydolabilirsiniz.

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 olabileceğiniz açıklanmaktadır.

Chrome Kaynak Denemelerinizde etkin jeton olup olmadığını Kayıtlarım sayfasında kontrol edebilirsiniz:

Chrome kaynak deneme sürümleri 
Kayıtlarım sayfasında Geçerli Olacağı Son Tarih

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 sona ermedi

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

Chrome Kaynak Denemeleri sayfası, Birinci Taraf Gruplar ve SameParty ile deneme kullanılabilir ayrıntıları vurgulanıyor.

Sona eren denemeler için Geliştirici Araçları şuna benzer bir sayfa gösterir:

Chrome Geliştirici Araçları 
Uygulama panelinde ValidTokenNotProvided ve Durum Süresi Doldu bilgilerini gösteren kaynak denemeleriyle ilgili bilgiler

Geri bildirim gerektiğinde veya bir jetonun süresi dolmak üzereyken otomatik e-postalar gönderilir (deneme süresi 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 Geliştirici Araçları 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.

Deneme için geçerli bir jetonu olan tüm sayfalarda varsayılan olarak bir kaynak deneme özelliği etkinleştirilir.

Ancak, nadir durumlar dışında, kaynak deneme sürümü 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.

Desteği sonlandırılan deneme sürümleri yeni özellikler sunmadığı ve bu nedenle web'in önemli bir bölümünü deneme sürümüne bağımlı hale getirme riski taşımadığı için bu sürümler için kullanım sınırı yoktur.

Bazı deneme sürümlerinde, kullanımı sınırlama seçeneği de sunulur. Bu durumda, kaynak deneme sürümünün özellikleri bazı kullanıcılar için devre dışı bırakılır. Bu seçenek, bunu sunan bir kaynak deneme sürümünün kayıt sayfasından kullanılabilir:

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 daha düşük olduğunu fark ederseniz "Standart Sınır"ın seçildiğinden emin olun.

Iframes kendi jetonlarını sağlar

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

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

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

Bazı kaynak deneme özellikleri, bir Permissions-Policy üst bilgisinden (eski adıyla Feature-Policy başlığı) etkilenebilir. Bunu deneme özelliği için Deneme Amacı'nda veya web.dev ya da developer.chrome.com/blog adresindeki özellikle ilgili geliştirici dokümanlarında kontrol edebilirsiniz.

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

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

Peki ya işçiler?

Kaynak deneme özellikleri, hizmet işçileri, paylaşılan işçiler ve özel işçiler tarafından kullanılabilir. Ancak hizmet işçileri ve paylaşılan işçiler için erişimi etkinleştirmenin tek yolu, Origin-Trial başlığında bir jeton sağlamaktır.

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

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

Bir deneme özelliğine erişilmeden önce kaynak deneme jetonunun sağlandığından emin olun. Örneğin, bir sayfa JavaScript aracılığıyla 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ı

Daha fazla bilgi