Chrome kaynak denemeleriyle ilgili sorunları giderme

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

Yapılacaklar listesi

Kaynak denemesiyle ilgili sorunları gidermek için, sağlanan bağlantıları kullanarak aşağıdaki sorunların her birini inceleyin.

<br-y-e-posta e-posta adresinde e-posta e-posta sayabileceğiniz e-posta kabul edilmez.<br=1-5-5{0}- teklifleri godiğinden son kötü bitirme anlamı yokmuş e-posta gönderme hakkı uygulamasını kabul edin.<br=1-5-5-2-5{0} etiketini üst taşımalısınız<br> e-posta kabul edebilir ya da aramanıza izin verin. {/1}


















Yenilikleri inceleyin.

Aşağıdaki demolarda kaynak deneme jetonu sağlama ve deneme özelliğine erişme yöntemlerinin her biri gösterilmektedir:

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

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

Chrome Geliştirici Araçları
kaynak denemesi bilgilerini, Uygulama panelinde görebilirsiniz.

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

Chrome Geliştirici Araçları 
  Uygulama paneli, iframe&#39;de sayfa için kaynak deneme jetonlarını gösteriyor.

  • Jeton Durumu: Sayfanın geçerli bir jetonu olup olmadığını belirtir. Bazı kaynak denemelerinde, geçerli jetonun mevcut olmasına rağmen kaynak denemesi özelliğinin kullanılamayacağı anlamına gelen coğrafi kısıtlamalar gibi başka faktörler olabileceğini unutmayın. Chrome Geliştirici Araçları durum kodları, kaynak denemelerine ait kodların her birinin anlamını açıklar.
  • Kaynak: Jeton için kaydedilen Web Kaynağı.
  • Son Kullanma Zamanı: Jeton için mümkün olan maksimum (en son) son kullanma tarihi/saati. Normalde bu, deneme süresinin bitişiyle aynıdır. Kayıtlarım bölümünde gösterilen jeton için Geçerli Bitiş Tarihi ile aynı değildir. Bu tarih, jetonun şu anda ne kadar süreyle geçerli olduğunu ve sürdürülebilir.
  • Kullanım Kısıtlaması: Bazı denemeler için belirlenebilen kullanım sınırlarıdır.
  • Üçüncü Taraf: Jeton için üçüncü taraf eşleştirmenin etkin olup olmadığı. Bu özellik, üçüncü taraf komut dosyalarından deneme özelliğine birden fazla sitede erişilmesini gerektiren bazı kaynak denemelerinde kullanılabilir.
  • Alt Alanlarla Eşleştirme: Jeton için alt alan eşleşmesinin etkin olup olmadığı. Böylece kaynak denemesi özelliği, her alt alan adı için farklı bir jeton gerekmeden bir kaynağın birden fazla alt alanında test edilebilir.

Chrome Geliştirici Araçları, deneme sürümü geçerli kullanıcı için kullanılamıyorsa, jetonun süresi dolduysa veya başka kısıtlamalar varsa deneme adının yanında bir uyarı görüntüler.

Chrome Geliştirici Araçları
Uygulama panelindeki süresi dolmuş jetonun kaynak denemeleriyle ilgili bilgiler

Chrome Geliştirici Araçları durum kodları

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

  • FeatureDisabled: Deneme sürümünün kullanımı şu anda devre dışıdır.
    Kaynak kodu

  • FeatureDisabledForUser: Bu jeton, alternatif bir kullanım kısıtlaması nedeniyle mevcut kullanıcı için devre dışı olarak tanımlanmış. Tasarım belgesinin "Kullanıcı Alt Kümesi İstisnaları" bölümünü inceleyin.
    Kaynak kodu 1
    Kaynak kodu 2

  • Güvenli değil: İstek kaynağı güvenli değil ve deneme, güvenli olmayan kaynaklar için etkinleştirilmedi. Kaynak denemesi jetonu doğrulayıcı kodu bölümünde açıklandığı gibi: "Üçüncü taraf jetonlar için hem geçerli kaynak hem de komut dosyası kaynağı güvenli olmalıdır. Alt alan eşleşmesi nedeniyle, jeton kaynağı, sağlanan komut dosyası kaynaklarından biriyle tam eşleşme olmayabilir ve sonuç, hangi kaynağın eşleştiğini belirtmez. Bu, uygun komut dosyası kaynağını bulmanın doğrudan bir arama olmadığı anlamına gelir. Tüm kaynak karşılaştırmalarının yeniden yapılmasını önlemek için, kaç komut dosyası kaynağının sağlandığına bağlı olan kısayollar vardır. En az bir jeton olmalıdır, aksi takdirde üçüncü taraf jetonu başarıyla onaylanmaz."
    Kaynak kodu

  • InvalidSignature (Geçersiz imza): Jetonun imzası geçersiz veya bozuk.
    Kaynak kodu

  • Yanlış biçimlendirilmiş: Jeton hatalı biçimlendirilmiş ve ayrıştırılamadı.
    Kaynak kodu

  • NotSupported: Jeton tarafından tanımlanan kaynak denemesi, Chromium "yerleştirme aracında" desteklenmez: Chrome veya Edge gibi bir tarayıcı, Web Görünümü ya da başka bir kullanıcı aracısı.
    Kaynak kodu

  • Başarılı: Jeton iyi biçimlendirilmiş, süresi dolmamış, bir kaynak denemesi özelliğiyle eşleşiyor ve beklenen bir kaynaktan isteniyor.
    Kaynak kodu

  • TokenDisabled: Jeton devre dışı olarak işaretlenmiştir ve kullanılamaz.
    Kaynak kodu

  • TrialNotAllowed: Kaynak denemesi geçerli kullanıcı tarafından kullanılamaz.
    Kaynak kodu

  • UnknownTrial: Jeton, bilinen herhangi bir denemeyle eşleşmeyen bir özellik adı belirtir.
    Kaynak kodu

  • WrongOrigin: İstek kaynağı, jetonda belirtilen kaynakla eşleşmiyor. Buna şema, ana makine adı veya bağlantı noktası dahildir. Harici bir JavaScript dosyası yerine bir HTTP üst bilgisi, meta etiket veya satır içi komut dosyası içinde bir üçüncü taraf jetonu sağlandığında da bu durum gösterilir.
    Kaynak kodu

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


Çalışmıyor! 🤔

Kaynak denemeniz 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ını kullanmayın. Bunun nedeni, Chrome kaynak denemelerinin, Chrome'da deneme için kullanıma sunulan özelliklere özgü olmasıdır.

Kaynak denemeleri ayrıca Firefox ve Microsoft Edge için de mevcuttur. Firefox veya Edge kaynak deneme sürümüne kaydolduğunuzda Chrome'da bir özellik etkinleştirilmez.

Kaynak denemesi, sitenize erişen Chrome sürümleri için etkinleştirildi

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ı (Canary, Yeni geliştirilenler ve Beta) tarafından kullanılabildiği anlamına gelebilir.

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

Birinci Taraf Setler ve SameParty Chrome&#39;un kullanılabilirliğinin vurgulandığı Chrome kaynak denemeleri sayfası

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

Kaynak denemesi Chrome ayarları tarafından devre dışı bırakılmadı

Tek bir kullanıcı bir özelliğin kendisinde çalışmadığını bildirirse kullanıcının Chrome ayarlarından özelliğin devre dışı bırakılıp bırakılmadığını kontrol edin. Ö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 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 da sağlanabilir. Aşağıda, Node.js'de Express'i kullanan bir örnek verilmiştir:

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 jeton kaynağı, sayfa kaynağıyla eşleşir

Denemeye kaydolurken Web Origin 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'i seçtiyseniz:

Web Kaynağı olarak https://example.com&#39;u gösteren Chrome Kaynak Denemeleri 
sayfası.

Şöyle bir jeton değeri alabilirsiniz:

Jeton değerini gösteren Chrome Kaynak Denemeleri 
sayfası.

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

Meta etikette sağlanan bir jeton olup olmadığını kontrol etmek için HTML'yi kontrol edin:

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

Başlıkta sağlanan bir jeton için jeton değerini Chrome DevTools Network (Ağ) panelinde Yanıt Başlıkları altından kontrol edebilirsiniz:

Chrome Geliştirici Araçları 
Kaynak denemeleri yanıt başlığının gösterildiği ağ paneli.

Birinci taraf jetonu, jetonu kullanan kaynaktan sunulur

Kaynağınızdan sunulan bir sayfada yer alan kod için kaynak deneme özelliğine erişimi etkinleştirmek isterseniz meta etikette, başlıkta veya aynı kaynaktan JavaScript aracılığıyla bir deneme jetonu sağlayın.

Jeton için kaydedilen kaynak, jetonu sunan kaynakla eşleşmelidir.

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

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

Örneğin, javascript-library.example kaynağından yayınlanan komut dosyalarının bir kaynak denemesinde yer almasını istiyorsanız javascript-library.example için üçüncü taraf eşleşmesi ile bir jeton kaydetmeniz gerekir.

Seçilen üçüncü taraf eşleşmelerini gösteren Chrome kaynak denemeleri kayıt sayfası.

Üçüncü taraf jetonu için kaynak değeri, jetonu yerleştiren komut dosyasının kaynağıyla eşleşmelidir.

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

Üçüncü taraf bir komut dosyasını, komut dosyası için değil, kaynağınız için bir jeton kaydederek sitenizdeki kaynak denemesine katılacak şekilde etkinleştiremezsiniz.

Üçü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ının kendisi aracılığıyla yerleştirilir (sitenizdeki meta etikete veya başlığa dahil edilmez):

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

Üçüncü taraf jeton bir meta etiket, HTTP üst bilgisi veya satır içi komut dosyası aracılığıyla değil, 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ğı (ör. kaynak URL'si) yoktur.

Diğer bir deyişle, üçüncü taraf jetonunun bir <meta> etiketi veya satır içi komut dosyası içinde değil, harici bir komut dosyası aracılığıyla sağlanması gerekir. Jetonu yerleştiren harici komut dosyasının, kapsayıcı sayfayla aynı kaynaktan veya farklı bir kaynaktan gelmesi, komut dosyasının kaynağı deneme için kayıtlı bir kaynakla eşleştiği sürece ö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öntemde desteklenir

Kaynak deneme özelliklerine erişebilmek için belirli bir yöntemle deneme jetonu sağlamanız gerekir. Örneğin, hizmet çalışanları ve paylaşılan çalışanlar için kaynak denemesi 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 eşleşmesi etkinleştirildi

Kaynak denemesi özelliği sitenizdeki bazı sayfalarda çalışmıyorsa jetonların, bunları sunan alt alanlar için doğru şekilde ayarlandığından emin olun.

Kaynak denemesine kaydolduğunuzda, isteğe bağlı olarak kaynağın tüm alt alan adlarını eşleştirmeyi seçebilirsiniz:

Chrome kaynak denemeleri kayıt sayfası, seçilen alt alan adı eşleşmelerini gösteriyor

Alt alan adlarını üçüncü taraf jetonları için de eşleştirebilirsiniz:

Seçilen Chrome kaynak denemeleri kayıt sayfası

Genel Son Ek Listesi'ndeki kaynaklar için alt alan adı jetonları verilmez. Örneğin, https://appspot.com veya https://github.io gibi bir kaynağı kaydedemezsiniz ancak bu kaynaktaki https://example.appspot.com veya https://example.github.io gibi alan adlarına kaydolabilirsiniz.

Jeton hâlâ geçerli

Jetonlar, oluşturulduktan sonra altı hafta boyunca geçerlidir. Bunun dışında, Geçerlilik tarihini uzatmak için geri bildirim göndermeniz gerekir. Web Geliştiricileri İçin Kaynak Denemeleri Kılavuzu'nda, jetonunuzun tüm kaynak denemesi için geçerli olduğundan nasıl emin olacağınız açıklanmaktadır.

Chrome Kaynak Denemelerinin Kayıtlarım sayfasında etkin jetonları kontrol edebilirsiniz:

Chrome kaynak denemeleri 
Kayıtlarım sayfası şu tarihe kadar geçerli gösteriliyor:

Chrome Geliştirici Araçları, jeton hâlâ geçerliyse Success Durumu'nu gösterir:

Chrome Geliştirici Araçları kaynak denemeleriyle ilgili bilgileri Uygulama panelinde &quot;Durum: Başarılı&quot; olarak vurguluyor.

Jetonunuzun süresi dolduysa Geliştirici Araçları Expired durumunu ve Kayıtlarım sayfasında Süresi Bitmiş Jetonlar bölümünü gösterir.

Chrome kaynak denemeleri 
Süresi dolmuş jetonları gösteren Kayıtlarım sayfası.

Kaynak denemesi sona ermedi

Kaynak denemesinin bitiş tarihini kayıt sayfasından kontrol edebilirsiniz:

Birinci Taraf Gruplar ve Deneme Kullanılabilirliği ayrıntılarıyla SameParty için Chrome Kaynak Denemeleri sayfası.

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

Uygulama panelinde, ValidTokenNotProvided ve Durum Süresi Doldu&#39;nun gösterildiği Chrome Geliştirici Araçları kaynak denemeleriyle ilgili bilgiler

Geri bildirim gerektiğinde veya jetonun süresi dolmak üzereyken otomatik e-postalar gönderilir. Bununla birlikte, deneme süresi sona erdiğinde otomatik olarak e-posta gönderilmez.

Kaynak denemesi geçerli kullanıcı tarafından kullanılabilir

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

Geçerli kullanıcı için deneme sürümü mevcut değilse Chrome Geliştirici Araçları, TrialNotAllowed uyarısı gösterir:

Uygulama panelindeki Chrome Geliştirici Araçları kaynak deneme bilgileri, TrialNotAllowed uyarısını gösteriyor.

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

Tüm web platformu özelliklerinde olduğu gibi, kaynak denemesi özelliğini kullanmadan önce desteklendiğini onaylamak için özellik algılamayı kullanmanız gerekir.

Kaynak denemesinin kullanım kısıtlamaları aşılmadı

Varsayılan olarak kaynak denemesi özelliği, deneme için geçerli bir jetonu olan her sayfada etkinleştirilir.

Ancak nadir durumlar dışında kaynak denemesi 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 miktarı aşarsa kaynak denemesi özelliği devre dışı bırakılır. Geliştirici Araçları, jeton durumunu devre dışı olarak gösterir.

Kullanımdan kaldırma denemelerinde yeni özellikler kullanılmadığı ve dolayısıyla web'in önemli bir bölümünü deneme özelliğine bağımlı hale getirme riski taşımadığı için bu denemelerde kullanım sınırı yoktur.

Bazı denemeler ayrıca kullanımı sınırlama seçeneği sunar. Bu durumda, kaynak denemesi özellikleri bazı kullanıcılar için devre dışı bırakılır. Bu seçenek, şu olanağı sunan kaynak denemesinin kayıt sayfasından 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 daha düşük olduğunu fark ederseniz "Standart Sınır"ın seçili olduğundan emin olun.

iFrame'ler kendi jetonlarını sağlar

Bir kaynak denemesi özelliğine erişim izni vermek için iframe'in meta etikette, HTTP üst bilgisinde veya programatik olarak bir jeton sağlaması gerekir. iFrame'ler, bunları içeren sayfalar için etkinleştirilen özelliklere erişimi devralmaz.

ot-iframe.glitch.me, bir iframe'den kaynak denemesi ö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ıldı

Bazı kaynak denemesi özellikleri, bir Permissions-Policy üst bilgisinden (eski adıyla Feature-Policy başlığı) etkilenebilir. Deneme özelliği için Deneme Amacı bölümünden ya da web.dev ya da developer.chrome.com/blog adreslerinde bu özelliğe ait geliştirici dokümanlarından kontrol edebilirsiniz.

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

Chrome Geliştirici Araçları 
  Uygulama panelinde, İzinler Politikasına İzin Verildi Özelliği gösteriliyor.

Peki çalışanlar ne olacak?

Kaynak denemeleri özellikleri hizmet çalışanları, paylaşılan ve özel çalışanlara sunulabilir. Ancak hizmet çalışanları ve paylaşılan çalışanlar için erişimi etkinleştirmenin tek yolu, Origin-Trial üstbilgisinde 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

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

Kaynak denemesi demoları

Daha fazla bilgi