Rozwiązywanie problemów z testami origin Chrome

Rozwiąż typowe problemy z tokenami próbnymi w metatagach, nagłówkach i skryptach.

Lista kontrolna

Aby rozwiązać problemy z testowaniem origin, rozwiąż każdy z poniższych problemów, korzystając z dołączonych linków.

Spróbuj!

Poniższe prezentacje przedstawiają każdy sposób udostępniania tokena wersji próbnej origin i dostępu do funkcji próbnej:

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

Z poziomu Chrome 93 Narzędzia deweloperskie udostępniają informacje o testowaniu origin w panelu aplikacji dla wybranej ramki.

Informacje o wersjach próbnych źródeł w Narzędziach deweloperskich w Chrome znajdziesz w panelu Aplikacje.

Rozwiń górną ramkę, aby sprawdzić tokeny próbne źródła dostępne dla ramki podrzędnej. Na przykład w przypadku strony demonstracyjnej pod adresem ot-iframe.glitch.me widać, że strona w elemencie iframe udostępnia token.

Panel aplikacji Narzędzi deweloperskich w Chrome wyświetlający tokeny próbne źródła dla strony w elemencie iframe.

  • Stan tokena: wskazuje, czy strona ma prawidłowy token. Pamiętaj, że w przypadku niektórych testów origin mogą istnieć inne czynniki, takie jak ograniczenia geograficzne. Oznacza to, że funkcja testowania origin nie jest dostępna mimo obecności prawidłowego tokena. Kody stanu Narzędzi deweloperskich w Chrome wyjaśniają znaczenie poszczególnych kodów na potrzeby testowania origin.
  • Źródło: źródło internetowe zarejestrowane na token.
  • Data ważności: maksymalna (najnowsza) data i godzina wygaśnięcia tokena, która normalnie odpowiada zakończeniu okresu próbnego. Nie jest to data ważności dla tokena wyświetlanego na stronie Moje rejestracje, która pokazuje, jak długo token jest obecnie ważny i można go przedłużyć.
  • Ograniczenie wykorzystania: limity wykorzystania, które można ustawić w przypadku niektórych okresów próbnych.
  • Firma zewnętrzna: określa, czy dla tokena jest włączone dopasowywanie zewnętrzne. Ta funkcja jest dostępna w niektórych testach origin, w ramach których do funkcji próbnej trzeba mieć dostęp w wielu witrynach za pomocą skryptów innych firm.
  • Match Sub-Domains (Dopasuj do subdomen): określa, czy dla tokena jest włączone dopasowywanie subdomen. Dzięki temu funkcja testowania origin może być testowana w wielu subdomenach źródła bez konieczności używania osobnego tokena dla każdej subdomeny.

W Narzędziach deweloperskich w Chrome obok nazwy wersji próbnej pojawi się ostrzeżenie, jeśli wersja próbna jest niedostępna dla bieżącego użytkownika, token wygasł lub obowiązują inne ograniczenia.

Informacje o okresach próbnych źródeł w Narzędziach deweloperskich w Chrome
w panelu aplikacji, gdzie widać nieważny token

Kody stanu Narzędzi deweloperskich w Chrome

  • Wygasły: upłynął termin ważności tokena. Aby wygenerować nowy token z nową datą ważności, musisz go odnowić.
    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 na podstawie alternatywnego ograniczenia użytkowania. Zapoznaj się z sekcją „User Subset Excludes” (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 okres próbny nie jest włączony w przypadku niezabezpieczonych źródeł. Jak wyjaśniamy w sekcji kod walidatora tokenów próbnych źródła: „W przypadku tokenów zewnętrznych zarówno bieżące źródło, jak i źródło skryptu muszą być bezpieczne. Ze względu na dopasowywanie 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 wyszukiwanie bezpośrednie w celu znalezienia odpowiedniego źródła skryptu. Aby uniknąć powtarzania wszystkich porównań źródeł, wprowadziliśmy skróty, które zależą od liczby podanych źródeł skryptów. Musi być co najmniej jeden. W przeciwnym razie token zewnętrzny nie zostanie pomyślnie zweryfikowany”.
    Kod źródłowy

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

  • Uszkodzony: token ma nieprawidłowy format i nie udało się go przeanalizować.
    Kod źródłowy

  • NotSupported test źródła zdefiniowany przez token nie jest obsługiwany przez narzędzie do umieszczania w Chromium, które nie jest obsługiwane w przeglądarce takiej jak Chrome lub Edge, WebView lub innego klienta użytkownika.
    Kod źródłowy

  • Sukces: token jest poprawnie sformułowany, nie wygasł, pasuje do funkcji testowania origin i jest wysyłane z żądania z oczekiwanego źródła.
    Kod źródłowy

  • TokenDisabled: token został oznaczony jako wyłączony i nie można go używać.
    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: ź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 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 wersji 2 i 3.
    Kod źródłowy


Nie działa. 🤔

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

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

Wersje próbne origin Chrome zostały zaprojektowane z myślą o użytkownikach Chrome. Nie używaj tokenów próbnych origin Chrome do włączania funkcji próbnych w innych przeglądarkach, w tym w Chromium i innych przeglądarkach opartych na Chromium. Dzieje się tak, ponieważ testy origin Chrome dotyczą tylko funkcji udostępnionych w Chrome na potrzeby eksperymentów.

Wersje próbne origin są też dostępne w przeglądarkach Firefox i Microsoft Edge. Rejestracja w wersji próbnej origin przeglądarki Firefox lub Edge nie spowoduje włączenia funkcji w Chrome.

Testowanie origin jest włączone dla wersji Chrome uzyskujących 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 wersji przedstabilnej Chrome: Canary, Dev i beta.

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

Strona „Wersje próbne źródła Chrome”
dla zestawów źródeł własnych i serwera SameParty z zaznaczoną dostępnością Chrome

Użytą wersję Chrome możesz sprawdzić na chrome://version.

Testowanie origin nie jest wyłączone w ustawieniach Chrome

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

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

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

Na potrzeby własnych danych token może być podany 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 środowisku 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 tokena własnego pasuje do źródła strony

Upewnij się, że wartość Web Origin podczas rejestracji na wersję próbną odpowiada źródłom strony zawierającej metatag lub nagłówek stanowiący token.

Jeśli na przykład jako Źródło sieciowe wybierzesz https://example.com:

Strona z testami origin Chrome 
z adresem https://example.com wybranym jako źródło witryny.

Możesz zobaczyć taką wartość tokena:

Strona z testami origin Chrome
z wartością tokena.

Sprawdź, czy ta wartość odpowiada tokenowi na stronie, której dotyczy problem.

Aby znaleźć 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 Network (Sieć) w Narzędziach deweloperskich w Chrome z nagłówkiem odpowiedzi na temat testów origin.

Token własny jest udostępniany ze źródła, które go używa

Aby umożliwić dostęp do funkcji testowania origin kodu umieszczonego na stronie pochodzącej z Twojego źródła, podaj token próbny w metatagu, nagłówku lub za pomocą JavaScriptu z tego samego źródła.

Punkt początkowy zarejestrowany dla tokena musi być zgodny z punktem początkowym, który go udostępnia.

Źródło tokena innej firmy pasuje do źródła skryptu

Możesz się zarejestrować, aby wziąć udział w testach origin dotyczących skryptów wstrzykiwanych w innych źródłach.

Jeśli na przykład chcesz, aby skrypty dostarczane przez javascript-library.example wzięły udział w testowaniu origin, musisz zarejestrować token z dopasowywaniem przez inną firmę w przypadku javascript-library.example.

Strona rejestracji testowania origin Chrome z wybranym dopasowywaniem zewnętrznym.

Wartość źródła tokena zewnętrznego musi być zgodna z pochodzeniem skryptu, który go przeprowadza.

Skrypt zewnętrzny używa tokena innej firmy

Nie możesz zezwolić na udział skryptu zewnętrznego w testowaniu origin w Twojej witrynie przez zarejestrowanie tokena dla źródła zamiast dla skryptu.

Skrypty innych firm muszą używać tokenów z włączonym dopasowywaniem przez usługę zewnętrzną, wstrzykniętym przez sam skrypt (nieuwzględnione w metatagu ani nagłówku witryny) za pomocą kodu takiego jak:

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

Token firmy zewnętrznej jest dostarczany przez skrypt zewnętrzny, a nie metatag, nagłówek HTTP czy wbudowany skrypt.

Tokeny innych firm są sprawdzane względem pochodzenia skryptu, który je wstrzyknął, ale skrypty wbudowane i tagi <meta> w znacznikach statycznych nie mają źródła (czyli źródłowego adresu URL).

Oznacza to, że token innej firmy należy dostarczyć za pomocą zewnętrznego skryptu, a nie w tagu <meta> czy skrypcie wbudowanym. Nie ma znaczenia, czy skrypt zewnętrzny, który wprowadza token, pochodzi z tego samego źródła co strona, która go zawiera, czy z innego, o ile źródło skryptu jest zgodne ze źródłem zarejestrowanym na potrzeby wersji próbnej.

Jego prezentację znajdziesz na stronie ot-iframe-3p.glitch.me.

Dostęp do próbnej funkcji origin jest obsługiwany w przypadku metody służącej do dostarczania tokena próbnego

Niektóre typy dostępu do funkcji testowania origin wymagają podania tokena wersji próbnej w określony sposób. Na przykład jedynym sposobem na włączenie dostępu próbnego do źródła w przypadku skryptu service worker i udostępnionych instancji roboczych jest udostępnienie tokena w nagłówku Origin-Trial.

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

Jeśli masz wrażenie, że funkcja testowania origin nie działa w przypadku niektórych stron w Twojej witrynie, sprawdź, czy tokeny są prawidłowo skonfigurowane na potrzeby subdomen, które je obsługują.

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

Strona rejestracji dotycząca testowania origin Chrome z wybranym dopasowywaniem subdomen

W przypadku tokenów innych firm możesz też dopasowywać subdomeny:

Strona rejestracji dotycząca testowania origin Chrome 
z zaznaczonymi dopasowaniami zewnętrznymi i subdomenami

Tokeny subdomen nie będą wydawane w przypadku źródeł znajdujących się na liście domen publicznych. Na przykład nie możesz zarejestrować źródła takiego jak https://appspot.com lub https://github.io, ale możesz zarejestrować się w przypadku domen z tego źródła, takich jak https://example.appspot.com lub https://example.github.io.

Token jest nadal ważny

Tokeny są ważne przez 6 tygodni od utworzenia. Po upływie tego czasu musisz przesłać opinię, aby przedłużyć ważność. Przewodnik po testowania wersji origin dla deweloperów witryn wyjaśnia, jak sprawdzić, czy token jest ważny przez cały okres testowania origin.

Aktywne tokeny możesz sprawdzić na stronie Moje rejestracje w wersjach próbnych Chrome origin:

Testowanie origin Chrome 
Strona Moje rejestracje wyświetla datę ważności

Jeśli token jest nadal prawidłowy, Narzędzia deweloperskie w Chrome wyświetlają stan Success.

Informacje o testach źródła w Narzędziach deweloperskich w Chrome
w panelu Application, z zaznaczoną opcją „Stan: Sukces”.

Jeśli token wygaśnie, w Narzędziach deweloperskich będzie widoczny stan Expired, a na stronie Moje rejestracje pojawi się sekcja Wygasłe tokeny.

Testowanie origin Chrome 
Strona Moje rejestracje z wygasłymi tokenami.

Testowanie origin jeszcze się nie zakończyło

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

Strona „Wersje próbne źródła Chrome” dotycząca zestawów źródeł własnych i witryny SameParty z wyróżnionymi szczegółami dotyczącymi dostępności wersji próbnej.

W przypadku zakończenia okresu próbnego w Narzędziach deweloperskich będzie widoczny taki komunikat:

W Narzędziach deweloperskich w Chrome 
informacje o testach źródła w panelu Application zawierające wartości ValidTokenNotProvided i Stan wygasły.

Jeśli poprosimy Cię o opinię lub gdy token wkrótce wygaśnie, otrzymasz automatyczne e-maile (niekoniecznie po zakończeniu okresu próbnego).

Testowanie origin jest dostępne dla obecnego użytkownika

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

Jeśli wersja próbna jest niedostępna dla obecnego użytkownika, Narzędzia deweloperskie w Chrome wyświetlają ostrzeżenie TrialNotAllowed:

Informacje o testach origin w Narzędziach deweloperskich w Chrome w panelu Application z ostrzeżeniem PreviewNotAllowed.

Informacje o ograniczeniach użytkowania i dostępności będą przekazywane każdej wersji próbnej origin.

Tak jak w przypadku każdej funkcji platformy internetowej, przed użyciem musisz użyć wykrywania funkcji, aby sprawdzić, czy dana funkcja origin jest obsługiwana.

Nie przekroczono ograniczeń użytkowania wersji próbnej origin

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

Jednak (z wyjątkiem rzadkich przypadków) wykorzystanie wersji próbnej origin jest ograniczone do maksymalnie 0,5% całego wczytywania stron Chrome. Funkcja testowania origin zostanie wyłączona, jeśli łączne wykorzystanie przez wszystkich użytkowników Chrome przekroczy ten limit. W Narzędziach deweloperskich stan tokena będzie wyłączony.

W przypadku wersji próbnych wycofywania nie obowiązują żadne limity wykorzystania, ponieważ nie wprowadzają one nowych funkcji i dlatego nie stwarzają ryzyka uzależnienia znacznej części zasobów internetowych od wersji próbnej.

W niektórych wersjach próbnych dostępna jest też opcja ograniczenia wykorzystania, co oznacza, że dla niektórych użytkowników funkcje źródłowe będą wyłączone. Ta opcja jest dostępna na stronie rejestracji okresu próbnego, w ramach którego jest dostępna:

Strona rejestracji w programie testowania origin Chrome z ograniczeniami użytkowania.

Jeśli zauważysz, że użytkownicy nie mają dostępu do funkcji wersji próbnej origin, upewnij się, że jest wybrany „Limit standardowy”.

Elementy iframe zapewniają własne tokeny

Aby umożliwić dostęp do funkcji testowania origin, element iframe musi udostępniać token w metatagu, nagłówku HTTP lub automatycznie. 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 origin z elementu iframe. ot-iframe-3p.glitch.me zawiera wiele przykładów elementów iframe z innych domen.

Zasady dotyczące uprawnień są prawidłowo skonfigurowane

Na niektóre funkcje wersji próbnej origin może wpływać nagłówek Permissions-Policy (nazywany wcześniej nagłówkiem Feature-Policy). Możesz to sprawdzić w Intencji do eksperymentu w przypadku wersji próbnej oraz w dokumentacji dla programistów dotyczącej tej funkcji na stronie web.dev lub developer.chrome.com/blog.

Upewnij się, że funkcja, do której próbujesz uzyskać dostęp, nie jest blokowana za pomocą dyrektywy Permissions-Policy. Nagłówki odpowiedzi możesz sprawdzać w panelu Network (Sieć) w Chrome DevTools, a pełną listę dozwolonych funkcji możesz wyświetlić w panelu Aplikacje.

Panel aplikacji Narzędzi deweloperskich w Chrome z widoczną funkcją dozwoloną w zasadach uprawnień.

A co z pracownikami?

Funkcje wersji próbnych origin mogą być dostępne dla skryptu service worker, instancji roboczych współdzielonych i oddanych instancji roboczych. Jednak jedynym sposobem na włączenie dostępu dla skryptów service worker i współdzielonych instancji roboczych jest podanie tokena w nagłówku Origin-Trial.

Dedykowane instancje robocze dziedziczą dostęp do funkcji włączonych przez ich dokument nadrzędny.

Przed uzyskaniem dostępu do funkcji podawany jest token

Dopilnuj, aby token próbny origin został udostępniony przed uzyskaniem dostępu do funkcji próbnej. Jeśli na przykład strona udostępnia token za pomocą JavaScriptu, upewnij się, że kod dostarczający token jest uruchamiany przed kodem próbującym uzyskać dostęp do funkcji próbnej.

Wersje demonstracyjne origin

Więcej informacji