Rozwiązywanie problemów z testami origin Chrome

Rozwiązywanie typowych problemów z tokenami wersji próbnej w metatagach, nagłówkach i skryptach

Lista kontrolna

Aby rozwiązać problem z testem wersji źródłowej, rozwiąż każdy z poniżej wymienionych problemów, korzystając z podanych linków.

Spróbuj!

Demonstracje poniżej pokazują wszystkie sposoby udostępniania tokenu wersji próbnej origin i uzyskiwania dostępu do wersji próbnej:

Sprawdzanie tokenów za pomocą Narzędzi deweloperskich w Chrome

W Chrome 93 Narzędzia deweloperskie udostępniają informacje o próbnym dostępie do witryn w panelu Aplikacja dla wybranego kadru.

informacje o testach pochodzenia w panelu Aplikacja w Narzędziach deweloperskich Chrome.

Rozwiń górną ramkę, aby sprawdzić tokeny okresu próbnego pochodzenia dostępne dla ramki podrzędnej. Na przykład w przypadku strony demonstracyjnej ot-iframe.glitch.me widać, że strona w elementzie iframe udostępnia token.

Narzędzia deweloperskie w Chrome
  Panel aplikacji z tokenami testowania origin dla strony w elemencie iframe.

  • Stan tokena: czy strona ma prawidłowy token. Pamiętaj, że w przypadku niektórych testów origin mogą obowiązywać inne czynniki, takie jak ograniczenia geograficzne, które oznaczają, że funkcja testowania origin jest niedostępna, mimo że jest dostępny ważny token. Kody stanu w Narzędziach deweloperskich Chrome zawierają opisy poszczególnych kodów prób pochodzenia.
  • Pochodzenie: pochodzenie internetowe zarejestrowane dla tokena.
  • Wygaśnięcie: maksymalna (najnowsza) możliwa data/godzina wygaśnięcia tokena, która normalnie będzie taka sama jak koniec okresu próbnego. Nie jest to to samo co data ważności tokena wyświetlana w sekcji Moje rejestracje, która pokazuje, do kiedy token jest obecnie ważny i czy można go przedłużyć.
  • Ograniczenie wykorzystania: limity wykorzystania, które można ustawić na potrzeby niektórych okresów próbnych.
  • Inne firmy: czy dopasowywanie zewnętrzne jest włączone dla tokena. Ta funkcja jest dostępna w przypadku niektórych wersji próbnych origin, w których trzeba uzyskać dostęp do funkcji próbnej na wielu stronach za pomocą skryptów innych firm.
  • Dopasuj subdomeny: określa, czy dopasowywanie subdomen jest włączone dla tokena. Dzięki temu można testować funkcję próbnego wyświetlania na wielu subdomenach źródła bez konieczności korzystania z różnych tokenów dla każdej subdomeny.

Jeśli okres próbny nie jest dostępny dla bieżącego użytkownika, token wygasł lub istnieją inne ograniczenia, obok nazwy okresu próbnego w Narzędziach deweloperskich w Chrome wyświetli się ostrzeżenie.

Chrome DevTools – informacje o próbach pochodzenia w panelu Application (Aplikacja) dotyczące tokena, którego ważność wygasła

Kody stanu Narzędzi deweloperskich w Chrome

  • Wygasł: token wygasł. Token trzeba odnowić, aby wygenerować nowy token z nową datą ważności.
    Kod źródłowy

  • FeatureDisabled: okres próbny jest obecnie wyłączony.
    Kod źródłowy

  • FeatureDisabledForUser: ten token został wyłączony dla bieżącego użytkownika za pomocą alternatywnego ograniczenia użycia. Zapoznaj się z sekcją „Wykluczenia podzbioru użytkowników” w dokumentacji projektu.
    Kod źródłowy 1
    Kod źródłowy 2

  • Niezabezpieczone: źródło żądania jest niezabezpieczone, a wersja próbna nie jest dostępna w przypadku niezabezpieczonych źródeł. Jak wyjaśniono w kodzie weryfikującym token origin trial: 'W przypadku tokenów innych firm zarówno bieżąca, jak i zewnętrzna lokalizacja źródłowa skryptu musi być bezpieczna. Ze względu na dopasowywanie subdomen źródło tokena może nie być dokładnym dopasowaniem do jednego z podanych źródeł skryptu, a wynik nie wskazuje, które konkretne źródło zostało dopasowane. Oznacza to, że nie jest to bezpośrednie wyszukiwanie odpowiedniego źródła skryptu. Aby uniknąć ponownego wykonywania wszystkich porównań źródeł, dostępne są skróty, które zależą od liczby podanych źródeł skryptu. Musisz mieć co najmniej jeden. W przeciwnym razie token zewnętrzny nie zostanie zweryfikowany.
    Kod źródłowy

  • InvalidSignature: token ma nieprawidłowy lub uszkodzony podpis.
    Kod źródłowy

  • Uszkodzony: token ma nieprawidłowy format i nie można go przeanalizować.
    Kod źródłowy

  • Nieobsługiwane: próba wersji natywnej zdefiniowana przez token nie jest obsługiwana w „osadniku” Chromium: przeglądarce takiej jak Chrome lub Edge, komponencie WebView lub innym użytkowniku.
    Kod źródłowy

  • Sukces: token jest poprawnie sformułowany, nie wygasł, odpowiada funkcji wersji próbnej pochodzenia i został przesłany z oczekiwanego źródła.
    Kod źródłowy

  • TokenDisabled: token został oznaczony jako wyłączony i nie może być używany.
    Kod źródłowy

  • TrialNotAllowed wersja próbna origin nie jest dostępna dla bieżącego użytkownika.
    Kod źródłowy

  • UnknownTrial: token określa nazwę funkcji, która nie pasuje do żadnej znanej wersji próbnej.
    Kod źródłowy

  • WrongOrigin: pochodzenie żądania nie pasuje do źródła określonego w tokenie. Może to obejmować schemat, nazwę hosta lub port. Ten stan wyświetla się też wtedy, gdy token innej firmy jest podany w nagłówku HTTP, metatagu lub skrypcie wbudowanym, a nie w zewnętrznym pliku JavaScript.
    Kod źródłowy

  • WrongVersion: nieprawidłowa wersja tokena: obecnie obsługiwane są tylko tokeny w wersjach 2 i 3.
    Kod źródłowy


Nie działa. 🤔

Jeśli próbna wersja nie działa zgodnie z oczekiwaniami, sprawdź, czy spełniasz te warunki.

Testujesz w Chrome, a nie w Chromium ani innej przeglądarce

Testy pochodzenia w Chrome są przeznaczone dla użytkowników Chrome. Nie używaj tokenów wersji próbnej Chrome, aby włączyć funkcje wersji próbnej w innych przeglądarkach, w tym w Chromium i innych przeglądarkach opartych na Chromium. Wynika to z tego, że wersje próbne Chrome są przeznaczone do testowania konkretnych funkcji w Chrome.

Wersje próbne origin są też dostępne w przeglądarkach Firefox i Microsoft Edge. Rejestracja w okresie próbnym origin Firefoksa lub Edge nie powoduje włączenia funkcji w Chrome.

testowanie pochodzenia jest włączone w przypadku wersji Chrome, które uzyskują dostęp do Twojej witryny.

Dostęp do wersji próbnych jest ograniczony do określonych wersji Chrome. W niektórych przypadkach może to oznaczać, że funkcja próbna jest dostępna tylko w kanałach Chrome poprzedzających wersję stabilną: Canary, deweloperskiej i beta.

Dostępność wersji próbnej możesz sprawdzić na stronie rejestracji:

Strona z testami pochodzenia Chrome z wyróżnionym zestawem źródeł własnych i SameParty

Wersję Chrome, której używasz, możesz sprawdzić na stronie chrome://version.

Wersja próbna źródła nie jest wyłączona przez ustawienia Chrome.

Jeśli użytkownik zgłosi, że dana funkcja nie działa, sprawdź, czy nie jest wyłączona w ustawieniach Chrome. Na przykład funkcje Piaskownicy prywatności można wyłączyć na stronie chrome://settings/privacySandbox.

Słowa kluczowe i składnia są poprawne

Pamiętaj, aby używać odpowiednich słów kluczowych i składni w przypadku tokenów próbnych pochodzenia.

Do użytku własnego możesz przekazać token w metatagu origin-trial:

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

Token można też podać w nagłówku odpowiedzi Origin-Trial. Oto przykład użycia Express w Node.js:

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

Tokeny można też udostępniać za pomocą JavaScriptu:

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

Źródło tokenu własnego pasuje do źródła strony

Upewnij się, że wartość Web Origin wybrana podczas rejestracji na próbę jest zgodna ze źródłem strony, która zawiera metatag lub nagłówek dostarczający token.

Jeśli np. wybierzesz https://example.com jako źródło internetowe:

Strona Testowanie originów Chrome z https://example.com wybranym jako origin internetowy

Wartość tokena może wyglądać tak:

Strona Chrome Origin Trials z wartością tokena

Sprawdź, czy ta wartość jest zgodna z tokenem użytym na stronie, której dotyczy problem.

Aby sprawdzić token podany w metatagu, sprawdź kod HTML:

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

W przypadku tokena podanego w nagłówku możesz sprawdzić jego wartość w panelu Sieć Narzędzi deweloperskich w Chrome w sekcji Nagłówki odpowiedzi:

Panel Sieć w Narzędziach deweloperskich w Chrome pokazujący nagłówek odpowiedzi testu źródła.

Token własny jest dostarczany przez źródło, które go używa.

Aby umożliwić dostęp do funkcji wersji próbnej pochodzenia dla kodu zawartego na stronie pochodzącej z Twojego pochodzenia, podaj token wersji próbnej w metatagu, nagłówku lub za pomocą kodu JavaScript pochodzącego z tego samego pochodzenia.

Źródło zarejestrowane dla tokena musi być zgodne ze źródłem, które go obsługuje.

Źródło tokena zewnętrznego pasuje do źródła skryptu

Możesz zarejestrować się w programie testowania origin skryptów wstrzykiwanych z innych źródeł.

Jeśli na przykład chcesz, aby skrypty obsługiwane z adresu javascript-library.example uczestniczyły w testach origin, musisz w javascript-library.example zarejestrować token z zewnętrznym dopasowywaniem.

Strona rejestracji wersji próbnej origin Chrome z wybraną dopasowywaniem zewnętrznym.

Wartość źródła tokena innej firmy musi być zgodna ze źródłem skryptu, który go wstrzykuje.

Skrypt zewnętrzny używa tokena zewnętrznego

Nie możesz zezwolić zewnętrznemu skryptowi na udział w testowaniu origin w witrynie przez zarejestrowanie tokena dla źródła, a nie skryptu.

Skrypty firm zewnętrznych muszą używać tokenów z włączonym dopasowywaniem zewnętrznym, które są wstrzykiwane za pomocą samego skryptu (nie są zawarte w metatagu ani nagłówku witryny) za pomocą kodu podobnego do tego:

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

Token zewnętrzny jest udostępniany za pomocą skryptu zewnętrznego, a nie metatagu, nagłówka HTTP ani skryptu wbudowanego.

Tokeny firm zewnętrznych są weryfikowane pod kątem pochodzenia skryptu, który je wstrzyknął, ale tagi skryptu wstawianego inline i tagi <meta> w statycznym znaczniku nie mają pochodzenia (czyli źródłowego adresu URL).

Oznacza to, że token zewnętrzny musi być podany za pomocą skryptu zewnętrznego, a nie w tagu <meta> ani w skrypcie wbudowanym. Nie ma znaczenia, czy zewnętrzny skrypt, który wstrzykuje token, pochodzi z tego samego źródła co strona, czy z innego, o ile tylko źródło skryptu jest zgodne ze źródłem zarejestrowanym na potrzeby wersji próbnej.

Prezentację tej funkcji znajdziesz na stronie ot-iframe-3p.glitch.me.

Dostęp do funkcji wersji próbnej origin jest obsługiwany w przypadku metody używanej do udostępniania tokenu wersji próbnej.

Niektóre rodzaje dostępu do funkcji wersji próbnej origin wymagają podania tokenu wersji próbnej w określony sposób. Na przykład jedynym sposobem włączenia dostępu do wersji próbnej origin dla mechanizmów Service Worker i udostępnionych instancji roboczych jest podanie tokena w nagłówku Origin-Trial.

Dopasowanie subdomeny jest włączone w przypadku tokena używanego w subdomenie

Jeśli funkcja próbnego wyświetlania pochodzenia nie działa na niektórych stronach w Twojej witrynie, sprawdź, czy tokeny są prawidłowo skonfigurowane w subdomenach, które je wyświetlają.

Podczas rejestracji w wersji próbnej origin możesz opcjonalnie wybrać dopasowanie wszystkich subdomen źródła:

Strona rejestracji testów wersji źródłowej Chrome z wybraną opcją dopasowania poddomeny

Możesz też dopasowywać subdomeny do tokenów innych firm:

Strona rejestracji testów wersji próbnej Chrome, na której wybrano dopasowanie do domeny zewnętrznej i domeny podrzędnej

Tokeny poddomeny nie będą wydawane w przypadku źródeł z listy domen publicznych. Nie możesz na przykład zarejestrować źródła takiego jak https://appspot.com czy https://github.io, ale możesz zarejestrować domeny w ramach tego źródła, np. https://example.appspot.com czy https://example.github.io.

Token jest nadal ważny

Tokeny są ważne przez 6 tygodni od momentu ich utworzenia. Jeśli tego nie zrobisz, musisz przesłać opinię, aby przedłużyć okres ważności. W przewodniku po testach wersji próbnej dla deweloperów stron internetowych znajdziesz informacje o tym, jak sprawdzić, czy Twój token jest ważny przez cały okres testów wersji próbnej.

Aktywnych tokenów możesz szukać na stronie Moje rejestracje, na której znajdują się informacje o testach wersji Origin w Chrome:

Testy pochodzenia w Chrome
Na stronie Moje rejestracje widoczna data ważności

Jeśli token jest nadal ważny, Narzędzia deweloperskie w Chrome wyświetlają stan Success:

Informacje o testach pochodzenia w Narzędziach deweloperskich Chrome w panelu Aplikacja, w tym stan: „Sukces”.

Jeśli Twój token wygasł, w Narzędziach deweloperskich wyświetli się stan Expired, a na stronie Moje rejestracje pojawi się sekcja Tokeny, które wygasły.

Chrome origin trials

Strona Moje rejestracje z tokenami, które wygasły.

testowanie origin nie zostało zakończone;

Datę zakończenia wersji próbnej możesz sprawdzić na stronie rejestracji:

Strona zestawów źródeł własnych i SameParty z wyświetlonymi szczegółami dotyczącymi wersji próbnej Chrome Origin Trials

W przypadku zakończonych okresów próbnych DevTools wyświetli coś takiego:

Chrome DevTools – informacje o próbach pochodzenia w panelu Aplikacja, w których widać ValidTokenNotProvided i Status Expired

Gdy wymagana będzie Twoja opinia lub gdy token wygaśnie, otrzymasz automatyczne e-maile, ale nie po zakończeniu okresu próbnego.

Testowanie origin jest dostępne dla obecnego użytkownika

Niektóre wersje próbne pochodzenia są niedostępne dla niektórych użytkowników, nawet jeśli podano prawidłowy token.

Jeśli wersja próbna jest niedostępna dla bieżącego użytkownika, w Narzędziach deweloperskich w Chrome wyświetli się ostrzeżenie TrialNotAllowed:

Informacje o testowaniu origin w Narzędziach deweloperskich Chrome w panelu Aplikacja zawierające ostrzeżenie TrialNotAllowed.

Informacje o ograniczeniach i dostępności będą dostępne w przypadku każdej wersji próbnej.

Podobnie jak w przypadku innych funkcji platformy internetowej, przed użyciem funkcji próbnej źródła danych należy użyć funkcji wykrywania funkcji, aby potwierdzić, że jest ona obsługiwana.

nie zostały przekroczone ograniczenia korzystania z wersji próbnej Origin;

Domyślnie funkcja testowania origin jest włączona na każdej stronie, która ma prawidłowy token wersji próbnej.

Jednak z nielicznych wyjątków korzystanie z testowania origin jest ograniczone do maksymalnie 0,5% wszystkich wczytanych stron w Chrome. Funkcja testowania pochodzenia zostanie wyłączona, jeśli łączna liczba użytkowników Chrome przekroczy tę wartość. W narzędziach dla programistów stan tokena będzie oznaczony jako wyłączony.

Nie ma limitów korzystania z wersji próbnych funkcji wycofanych, ponieważ nie wprowadzają one nowych funkcji i nie powodują ryzyka, że znaczna część internetu będzie zależna od funkcji próbnej.

Niektóre okresy próbne oferują też opcję ograniczenia użytkowania, co oznacza, że funkcje okresu próbnego będą wyłączone dla niektórych użytkowników. Ta opcja jest dostępna na stronie rejestracji wersji próbnej, która oferuje:

Strona rejestracji testów wersji natywnej w Chrome z ograniczeniami użycia

Jeśli zauważysz, że dostęp użytkowników do funkcji próbnej origin jest niższy od oczekiwanego, sprawdź, czy zaznaczona jest opcja „Limit standardowy”.

Elementy iframe mają własne tokeny

Aby umożliwić dostęp do funkcji próbnego wyświetlenia, element iframe musi zawierać token w metatagu, nagłówku HTTP lub programowo. Ramki iframe nie dziedziczą dostępu do funkcji włączonych na stronach, na których się znajdują.

ot-iframe.glitch.me pokazuje dostęp do funkcji próbnej wersji źródłowej z poziomu elementu iframe. ot-iframe-3p.glitch.me zawiera wiele przykładów międzyźródłowych elementów iframe.

zasady dotyczące uprawnień są prawidłowo skonfigurowane;

Niektóre funkcje próbnego wyświetlania treści z innych źródeł mogą być zależne od nagłówka Permissions-Policy (wcześniej noszącego nazwę Feature-Policy). Możesz to sprawdzić w intencji eksperymentowania dotyczącej funkcji próbnej lub w dokumentacji dla deweloperów na temat tej funkcji na web.dev lub developer.chrome.com/blog.

Upewnij się, że funkcja, do której próbujesz uzyskać dostęp, nie jest blokowana przez instrukcję Permissions-Policy. W panelu sieci w Narzędziach deweloperskich Chrome możesz sprawdzić nagłówki odpowiedzi, a w panelu Aplikacja możesz wyświetlić pełną listę dozwolonych funkcji.

Narzędzia deweloperskie Chrome: panel aplikacji z funkcją dozwoloną przez zasady dotyczące uprawnień

A pracownicy?

Funkcje próbne źródła można udostępnić mechanizmom Service Worker, pracownikom współdzielonym i dedykowanym pracownikom. Jednak jedynym sposobem na umożliwienie dostępu usługom i wspólnym usługom jest podanie tokena w nagłówku Origin-Trial.

Pracownicy dedykowani dziedziczą dostęp do funkcji włączonych w dokumencie nadrzędnym.

Przed uzyskaniem dostępu do funkcji należy podać token

Upewnij się, że token okresu próbnego został podany przed uzyskaniem dostępu do funkcji okresu próbnego. Jeśli na przykład strona udostępnia token za pomocą JavaScriptu, upewnij się, że kod udostępniający token jest uruchamiany przed kodem, który próbuje uzyskać dostęp do funkcji wersji próbnej.

Wersje demonstracyjne origin

Więcej informacji