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ın her birini çözün.

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

Geliştirici Araçları, Chrome 93'ten itibaren kaynak deneme bilgilerini şurada sağlar: Seçili çerçeve için uygulama paneli.

Chrome Geliştirici Araçları 
kaynak denemeleriyle ilgili bilgileri inceleyin.

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ında sayfanın iframe bir jeton sağlar.

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

  • Jeton Durumu: Sayfanın geçerli bir jetonu olup olmadığı. Bazı kaynak denemelerinde diğer faktörler (ör. coğrafi kısıtlamalar), kaynak denemesi özelliğinin geçerli bir jeton olmasına rağmen kullanılabilir. Chrome Geliştirici Araçları durum kodları , kaynak denemelerine ilişkin her bir kodun anlamını açıklar.
  • Kaynak: The Web Kaynağı jeton.
  • Expiry Time: Jeton için mümkün olan maksimum (en son) geçerlilik bitiş tarihi/saati. deneme süresinin sonuyla eşleştirin. Bu, görüntülenen jetonun geçerlilik bitiş tarihiyle aynı değildir Kayıtlarım'da , jetonun şu anda ne kadar süre için geçerli olduğunu ve genişletilebilir.
  • Kullanım Kısıtlaması: Bazı denemeler için ayarlanabilir kullanım sınırları.
  • Üçüncü Taraf: Üçüncü taraf eşleştirmenin anahtar için etkinleştirildiğinden emin olun. Bu özellik, deneme özelliğinin birden fazla siteden üçüncü taraf komut dosyaları kullanılarak erişilebilir.
  • Alt Alanları Eşleştir: Alt alan adı eşleştirme anahtar için etkinleştirildiğinden emin olun. Bu, kaynak deneme özelliğinin birden fazla ve her alt alan adı için farklı jeton gerektirmeden bir kaynak alt alan adlarında kullanılabilir.

Deneme sürümü mevcut değilse Chrome Geliştirici Araçları, deneme adının yanında bir uyarı gösterir jetonun süresi dolmuşsa veya başka kısıtlamalar varsa geçerli olduğundan emin olun.

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

Chrome Geliştirici Araçları durum kodları

  • Süresi doldu: Jetonun geçerlilik bitiş tarihi geçmiştir. Jetonun yenilenmesi gerekiyor. yeni bir son kullanma tarihine sahip yeni bir jeton oluşturmanız gerekir.
    . Kaynak kodu

  • FeatureDisabled: Deneme, şu anda kullanım için devre dışıdır.
    . Kaynak kodu

  • FeatureDisabledForUser: Bu jeton, bir kısıtlayın. "Kullanıcı Alt Kümesi Hariç Tutmaları"nı inceleyin tasarım dokümanı bölümüne gidin.
    Kaynak kodu 1
    Kaynak kodu 2

  • Güvenli değil: İsteğin kaynağı güvenli değildir ve deneme, güvenli olmayan kaynaklar için etkinleştirilmemiştir. 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. Kaynak: alt alan adı eşleşiyorsa jeton kaynağı, sağlanan komut dosyalarından biriyle tam olarak eşleşmeyebilir kaynaklarınız varsa ve sonuç hangi belirli kaynakla eşleştiğini belirtmez. Bu, eğer bir uygun komut dosyası kaynağını bulmak için doğrudan arama yapın. 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ı olan kısayollar vardır. En az olmalıdır ya da üçüncü taraf jetonu başarıyla doğrulanamaz."
    . Kaynak kodu

  • InvalidSignature: Jetonun geçersiz veya hatalı bir imzası var.
    . 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'da desteklenmez "embedder": 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 bir şekilde oluşturulmuş, süresi dolmamış, bir kaynak deneme özelliğiyle eşleşiyor ve beklenen bir kaynaktan istendi.
    . Kaynak kodu

  • TokenDisabled: Jeton, devre dışı olarak işaretlendi 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. Bu şema, ana makine adı veya bağlantı noktasını ekleyin. Bu durum, bir üçüncü taraf jetonu olduğunda da gösterilir değeri harici bir JavaScript dosyası yerine bir HTTP üstbilgisi, meta etiket veya satır içi komut dosyası içinde sağlanır.
    . Kaynak kodu

  • WrongVersion: Yanlış jeton sürümü: Şu anda yalnızca jeton 2 ve 3 sürümü 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. Chrome kaynak deneme jetonlarını kullanma Chromium ve diğer Chromium tabanlı tarayıcılarda deneme özelliklerini etkinleştirin. Bunun nedeni, Chrome kaynak denemelerinin Chrome'da olanak sağlar.

Kaynak denemeleri Firefox ve Microsoft Edge için de kullanılabilir. Firefox veya Edge kaynak denemesine kaydolduğunuzda Chrome'daki bir özellik etkinleştirilmez.

Sitenize erişen Chrome sürümleri için kaynak denemesi etkinleştirildi

Deneme sürümlerine erişim Chrome'un belirli sürümleriyle sınırlıdır. Bazı durumlarda bu, deneme özelliği yalnızca kararlı sürüm öncesi Chrome kanallarında kullanılabilir: Canary, Yeni geliştirilenler ve Beta.

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

Chrome Kaynak Denemeleri
sayfası. Chrome kullanılabilirliği vurgulanmış SameParty

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

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

Tek bir kullanıcı bir özelliğin kendisi için çalışmadığını bildirirse özelliğin çalışıp çalışmadığını kontrol edin. Chrome ayarlarında devre dışı bırakılmış olabilir. Örneğin, Özel Korumalı Alan özellikler 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. Elektronik tablo kullanarak yapılmış Node.js'de Ekspres:

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şiyor

Denemeye kaydolduğunuzda seçilen Web Origin değerinin etiketi sağlayan meta etiketi veya başlığı içeren sayfa.

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

Chrome Kaynak Denemeleri 
https://example.com&#39;un Web Kaynağı olarak seçilmiş olduğunu gösteren sayfa.

Şuna benzer bir jeton değeri alabilirsiniz:

Chrome Kaynak Denemeleri 
jeton değerini gösteren sayfa.

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...">

Başlıkta sağlanan bir jeton için jeton değerini Yanıt Başlıkları altındaki Chrome Geliştirici Araçları Ağ paneli:

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

Birinci taraf jeton, bunu kullanan kaynaktan sunulur

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

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

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

Başka kaynaklara yerleştirilen komut dosyaları için bir kaynak denemesine katılmak üzere kaydolabilirsiniz.

Örneğin, javascript-library.example projesinden sunulan komut dosyalarının javascript-library.example için üçüncü taraf eşleştirmeyle bir jeton kaydetmeniz gerekir.

Chrome kaynak denemeleri 
üçüncü taraf eşlemenin seçili olduğunu gösteren kayıt sayfası.

Üçüncü taraf jetonun kaynak değeri, jetonu yerleştiren 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 sitenizdeki bir kaynak denemesine katılmasını sağlamak için yalnızca şunu yaparak etkinleştiremezsiniz: komut dosyası için değil, kaynağınız için bir jeton kaydeder.

Üçüncü taraf komut dosyalarının, komut dosyası üzerinden yerleştirilen ve üçüncü taraf eşleştirmenin etkinleştirildiği jetonlar kullanması gerekir (sitenizdeki bir meta etikete veya başlığa dahil edilmez) aşağıdaki gibi bir kod kullanarak oluşturun:

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

Üçüncü taraf jetonu bir meta etiket, HTTP başlığı 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 ancak satır içinde doğrulanır. Statik işaretlemedeki komut dosyalarının ve <meta> etiketlerinin bir kaynağı (ör. kaynak URL'si) yok.

Bu, üçüncü taraf jetonunun <meta> etiketi içinde değil, harici bir komut dosyası aracılığıyla sağlanması gerektiği anlamına gelir. veya satır içi komut dosyası kullanın. Jetonu yerleştiren harici komut dosyasının içeren sayfayla aynı kaynak veya komut dosyasının kaynağı eşleştiği sürece farklı bir kaynak Deneme için kayıtlı bir kaynak.

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

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

Kaynak deneme özelliklerine erişim 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 deneme erişimini etkinleştirmenin tek yolu Origin-Trial başlığında bir jeton sağlar.

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

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

Bir kaynak denemesine kaydolduğunuzda, isteğe bağlı olarak kaynak:

Chrome kaynak denemeleri 
alt alan adı eşlemesinin seçili olduğunu gösteren kayıt sayfası

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

Chrome kaynak denemeleri 
üçüncü taraf eşleşmesi ve alt alan adı eşleştirmesinin seçili olduğunu gösteren kayıt sayfası

Alt alan jetonları verilmeyecek Genel Son Ek Listesi'ndeki kaynaklar için geçerlidir. Örneğin, https://appspot.com veya https://github.io gibi bir kaynak (örneğin, alan adları için kaydolabilirsiniz) (örneğin, https://example.appspot.com veya https://example.github.io).

Jeton hâlâ geçerli

Jetonlar, oluşturulduktan sonra altı hafta boyunca geçerlidir. Bunun ötesinde, teslim ettiğiniz sorunlar geçerlilik süresini uzatın. Web Geliştiricileri İçin Kaynak Denemeleri Kılavuzu, jetonunuzun tüm kaynak denemesi için geçerli olduğunu doğrulayın.

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

Chrome kaynak denemeleri 
&quot;Geçerlilik bitimi&quot; olarak görünen Kayıtlarım sayfası

Jeton hâlâ geçerliyse Chrome Geliştirici Araçları, Success durumunu gösterir:

Chrome Geliştirici Araçları 
Uygulama panelinde, Durum: Başarı vurgulanıyor.

Jetonunuzun süresi dolduysa Geliştirici Araçları, Expired durumunu ve jetonunuzu Kayıtlarım sayfasında Süresi Dolmuş Jetonlar bölümü görüntülenir.

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:

Chrome Kaynak Denemeleri
sayfası. 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 gelir.

Kaynak denemesi geçerli kullanıcı için 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üresi mevcut değilse Chrome Geliştirici Araçları bir TrialNotAllowed uyarısı gösterir:

Uygulama panelinde TrialNotAllowed uyarısının gösterildiği Chrome Geliştirici Araçları kaynak denemeleriyle ilgili bilgiler.

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 özellik algılama özelliğini kullanmanız gerekir. deneyin.

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

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

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

Bu çalışmalarda, risksizdir ve büyük bir orana geçiş riski taşımadığından, web'in deneme sürümü özelliğine bağlı.

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

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

Kullanıcılarınızın kaynak deneme özelliğine erişiminin beklenenden daha düşük olduğunu fark ederseniz 'Standart Limit'in seçili olduğundan emin olun.

iFrame'ler kendi jetonlarını sağlar

Bir iframe, kaynak deneme özelliğine erişime izin vermek için meta etikette bir jeton, HTTP veya programatik olarak kullanılabilir. iFrame'ler için etkinleştirilen özelliklere erişimi devralmaz içeren sayfalardır.

ot-iframe.glitch.me, bir kaynak deneme özelliğine erişimi gösterir diğeridir. ot-iframe-3p.glitch.me, birden çok kaynaklar arası iframe örneklerine göz atın.

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

Bazı kaynak denemesi özellikleri bir Permissions-Policydan etkilenebilir (eski adıyla Feature-Policy üstbilgisi). Bunu Deneme Amacı veya bu özelliğin web.dev adresindeki geliştirici dokümanlarında bulabilirsiniz veya developer.chrome.com/blog adresini ziyaret edin.

Erişmeye çalıştığınız özelliğin Permissions-Policy tarafından engellenmediğinden emin olun yönergesini inceleyin. Chrome Geliştirici Araçları Ağ panelinde yanıt başlıklarını kontrol edebilir ve İzin verilen özelliklerin tam listesini Uygulama panelinde görebilirsiniz.

Chrome Geliştirici Araçları 
  İzinler Politikası&#39;nda İzin Verilen Özelliğin gösterildiği uygulama paneli.

İşçiler ne olacak?

Kaynak denemesi özellikleri hizmet çalışanları, paylaşılan çalışanlar ve özel birlikte çalışır. Ancak Service Worker'lar ve paylaşılan çalışanlar için erişimi etkinleştirmenin tek yolu Origin-Trial başlığında bir jeton bulunur.

Ö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 bir jeton sağlıyorsa, jetonu sağlayacak kodun deneme özelliğine erişmeye çalışan koddan önce çalıştırılır.

Kaynak denemesi demoları

Daha fazla bilgi