Rozwiązywanie problemów z testami origin Chrome

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

Ten przewodnik zakłada, że znasz testy pochodzenia w Chrome. Szczegółowe odpowiedzi na najczęstsze pytania znajdziesz w przewodniku po testach Origin dla programistów stron internetowych.

Jeśli napotkasz błąd w testach origin w Chrome, prześlij nowy problem w repozytorium GitHub origin testów Chrome.

Lista kontrolna

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

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

W przypadku wybranej ramki DevTools udostępnia informacje o próbie pochodzenia w panelu Aplikacja.

Narzędzia deweloperskie Chrome: informacje o próbach pochodzenia w panelu Aplikacja.

Rozwiń górny frame, aby sprawdzić tokeny okresu próbnego pochodzenia dostępne dla frame podrzędnego. 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 wersji próbnych pochodzenia mogą występować inne czynniki, takie jak ograniczenia geograficzne, które uniemożliwiają korzystanie z tej funkcji, mimo że jest dostępny prawidłowy token. Kody stanu w Narzędziach deweloperskich Chrome zawierają opisy poszczególnych kodów próbnych adresów URL.
  • Pochodzenie: źródło internetowe zarejestrowane dla tokena.
  • Czas wygaśnięcia: maksymalna (najpóźniejsza) możliwa data i godzina wygaśnięcia tokena, która w większości przypadków odpowiada dacie zakończenia wersji próbnej. Nie jest to ta sama data, która jest wyświetlana w sekcji Moje rejestracje w przypadku tokena. W tej sekcji widać, jak długo token jest ważny i czy można go przedłużyć.
  • Ograniczenie użytkowania: limity użytkowania, które można ustawić w przypadku niektórych wersji próbnych.
  • Inna firma: czy dopasowywanie danych pochodzących od innej firmy jest włączone dla tokena. Jest to możliwe w przypadku niektórych wersji próbnych pochodzenia, w których funkcja wersji próbnej musi być dostępna na wielu stronach z wykorzystaniem skryptów innych firm.
  • Dopasuj subdomeny: określa, czy dopasowywanie subdomen jest włączone dla tokena. Umożliwia to testowanie funkcji próbnego wyświetlania treści na wielu subdomenach źródła bez konieczności korzystania z różnych tokenów dla każdej subdomeny.

Narzędzia deweloperskie w Chrome wyświetlają ostrzeżenie obok nazwy wersji próbnej, jeśli: – nie jest ona dostępna dla bieżącego użytkownika, – token wygasł lub – istnieją inne ograniczenia.

Informacje o testowaniu origin w Chrome DevTools w panelu Application (Aplikacja) dotyczące wygasłego tokena

Kody stanu

W Narzędziach deweloperskich Chrome możesz zobaczyć te kody stanu.

  • Wygasł: token wygasł. Aby ponownie włączyć próbną wersję źródła, należy odnowić token. Wygeneruj nowy token z nową datą wygaśnięcia. Kod źródłowy

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

  • FeatureDisabledForUser: ten token został wyłączony dla bieżącego użytkownika z alternatywnym ograniczeniem użycia. W dokumentacji projektowej zapoznaj się z sekcją „Wykluczenia podzbioru użytkowników”. Kod źródłowy 1Kod źródłowy 2

  • Niebezpieczne: ź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 origin, jak i origin skryptu muszą być bezpieczne. Ze względu na dopasowanie subdomen źródło tokena może nie być identyczne z jednym 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. Musi być co najmniej 1 taki token, w przeciwnym razie nie uda się go zweryfikować. Kod źródłowy

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

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

  • NotSupported: próba pochodzenia zdefiniowana przez token nie jest obsługiwana w osadniku Chromium. Umieszczaczem może być przeglądarka (np. Chrome lub Edge), WebView lub inny agent użytkownika. Kod źródłowy

  • Sukces: token jest poprawnie sformułowany, nie wygasł, odpowiada funkcji wersji próbnej dostawcy 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: okres próbny punktu początkowego jest niedostępny dla bieżącego użytkownika. Kod źródłowy

  • UnknownTrial (nieznany okres próbny): token określa nazwę funkcji, która nie pasuje do żadnego znanego okresu próbnego. Kod źródłowy

  • WrongOrigin: źródło żądania nie pasuje do źródła określonego w tokenie. Może to być schemat, nazwa hosta lub port. Ten stan będzie też wyświetlany, jeśli token innej firmy zostanie podany w nagłówku HTTP, tagu meta lub skrypcie wbudowanym, a nie w zewnętrznym pliku JavaScript. Kod źródłowy

  • WrongVersion: używasz nieprawidłowej wersji tokena. Obsługiwane są tylko wersje 2 i 3 tokena. Kod źródłowy


Wymagania dotyczące testów pochodzenia

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 w innej przeglądarce.

Testy pochodzenia w Chrome są przeznaczone dla użytkowników Chrome. Tokeny wersji próbnej Chrome nie umożliwiają korzystania z funkcji w innych przeglądarkach, w tym w Chromium i 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 FirefoxMicrosoft Edge. Rejestracja w próbnej wersji Firefox lub Edge nie spowoduje włączenia funkcji w Chrome.

wersja próbna pochodzenia jest włączona w przypadku wersji Chrome, które uzyskują dostęp do Twojej witryny.

Dostęp do wersji próbnych usług jest ograniczony do określonych wersji Chrome. Może to oznaczać, że funkcja w wersji próbnej jest dostępna tylko w kanałach Chrome, które nie są stabilne: Canary, deweloperskim i beta.

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

Testy pochodzenia Chrome w przypadku zestawów źródeł własnych i SameParty z podkreśleniem dostępności w Chrome

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 niektóre funkcje Piaskownicy prywatności można wyłączyć na stronie chrome://settings/adPrivacy.

Słowa kluczowe i składnia są prawidłowe

Upewnij się, że używasz odpowiednich słów kluczowych i składni dla tokenów próbnych pochodzenia.

W przypadku własnych danych można podać 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 pakietu Express w Node.js:

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

Tokeny można też przekazywać 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ść źródła internetowego wybrana podczas rejestracji w ramach wersji próbnej jest zgodna ze źródłem strony zawierającej tag meta lub nagłówek, który udostępnia token.

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

Strona testowania 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ć w Narzędziach 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 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ę, aby wziąć udział w testach pochodzenia w przypadku skryptów wstrzykiwanych w innych źródłach.

Jeśli na przykład chcesz, aby skrypty serwowane z domeny javascript-library.example brały udział w testach pochodzenia, musisz zarejestrować token z dopasowywaniem zewnętrznym dla domeny javascript-library.example.

Strona rejestracji próbnych wersji Chrome z usługami innych firm, na której wybrano dopasowanie stron.

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 włączyć skryptu innej firmy do udziału w okresie próbnym na stronie, rejestrując tylko token dla źródła i zapominając o skrypcie.

Skrypty innych firm muszą używać tokenów z włączonym dopasowywaniem zewnętrznym, które są wstrzyknięte w sam skrypt. Nie można ich umieszczać w metatagach ani nagłówkach w witrynie. Kod JavaScript może wyglądać tak:

// 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);
}

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

Tokeny innych firm są weryfikowane pod kątem pochodzenia skryptu, który je wstrzyknął. Jednak skrypty wbudowane i tagi <meta> w statycznym znaczniku nie mają źródła.

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

Demo 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 tokena wersji próbnej w określony sposób. Na przykład jedynym sposobem na umożliwienie dostępu do próbnego źródła dla usług i współdzielonych usług 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 na okres próbny możesz opcjonalnie dopasować wszystkie subdomeny źródła:

Strona rejestracji testów wersji próbnej Chrome, na której wybrano dopasowanie 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 są wydawane w przypadku źródeł na liście domen publicznych. Nie możesz na przykład zarejestrować pochodzenia https://appspot.com ani https://github.io, ale możesz zarejestrować domeny w ramach tego pochodzenia, na przykład https://example.appspot.com lub https://example.github.io.

Token jest nadal ważny

Tokeny są ważne przez 6 tygodni od momentu ich utworzenia. Aby przedłużyć datę ważności Do, musisz przesłać opinię. W przewodniku po testach wersji próbnej Origin dla programistów internetowych znajdziesz informacje o tym, jak sprawdzić, czy token jest ważny przez cały okres testów wersji próbnej.

Aktywnych tokenów możesz szukać na stronie Moje rejestracje w Chrome Origin Trials:

Chrome origin trials

Strona Moje rejestracje z datą 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 token wygasł, w DevTools wyświetli się stan Expired, a na stronie Moje rejestracje pojawi się sekcja Wygasłe tokeny.

Chrome origin trials

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

testowanie origin : wersja próbna origin jest w toku,

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świetla komunikat podobny do tego:

Chrome DevTools – informacje o próbach pochodzenia w panelu Aplikacja: ValidTokenNotProvided i Status Expired

Wysyłamy Ci automatyczne e-maile, gdy potrzebujemy Twojej opinii lub token ma wygasnąć, ale nie wysyłamy ich, gdy okres próbny dobiega końca.

Okres próbny punktu początkowego jest dostępny 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 nie jest dostępna dla bieżącego użytkownika, Chrome DevTools wyświetla ostrzeżenieTrialNotAllowed:

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

Informacje o ograniczeniach i dostępności są dostępne w przypadku każdego okresu próbnego.

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 dotyczące wersji próbnej Origin;

Domyślnie funkcja próbnego wyświetlenia treści jest włączona na każdej stronie, która ma prawidłowy token próbnego wyświetlenia.

Z nielicznych wyjątków korzystanie z testowania origin jest ograniczone do maksymalnie 0, 5% wszystkich wczytanych stron w Chrome. Funkcja testowania pochodzenia jest wyłączona, jeśli łączna liczba użytkowników Chrome przekroczy tę wartość. Narzędzia dla programistów wyświetlają stan tokena jako wyłączony.

W przypadku wersji testowych funkcji wycofywanych nie ma limitów użycia, ponieważ nie wprowadzają one nowych funkcji, a więc nie stwarzają ryzyka, że znaczna część internetu będzie zależeć od wersji testowej funkcji.

Niektóre okresy próbne umożliwiają ograniczenie użytkowania, co oznacza, że funkcje okresu próbnego są wyłączone dla niektórych użytkowników. Ta opcja jest dostępna na stronie rejestracji wersji próbnej, która ją 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 okresu próbnego jest mniejszy niż oczekiwano, sprawdź, czy wybrana jest opcja Standardowy limit.

Iframe udostępniają własne tokeny

Aby umożliwić dostęp do funkcji wersji próbnej origin, element iframe musi zawierać token w tagu meta, nagłówku HTTP lub programowo. Elementy iframe nie dziedziczą dostępu do funkcji włączonych na stronach, które je zawierają.

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 wersji próbnej mogą być zależne od Permissions-Policy. Możesz to sprawdzić w intencji eksperymentowania dotyczącej funkcji wersji próbnej lub w dokumentacji dla deweloperów na stronie developer.chrome.com/docs.

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

Panel aplikacji w Narzędziach deweloperskich Chrome, który pokazuje funkcję dozwoloną przez zasady dotyczące uprawnień.

A pracownicy?

Funkcje Origin trials można udostępnić pracownikom usług, wspólnym i dedykowanym. Aby umożliwić dostęp usługom i wspólnym usługom, musisz podać token w nagłówku Origin-Trial.

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

Token jest udostępniany przed uzyskaniem dostępu do funkcji.

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

Wersje demonstracyjne origin

Przykłady wdrożenia tokenów znajdziesz na tych stronach:

Jak podać token wersji próbnej origin

Narzędzia do testowania Origin

Funkcje w wersji próbnej origin

Poniżej znajdziesz prezentacje interfejsów API, które są obecnie testowane w ramach origin trial.

Więcej informacji