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:
- ot-meta.glitch.me: token w metatagu
origin-trial
- ot-header.glitch.me: token w nagłówku odpowiedzi
Origin-Trial
- ot-3p.glitch.me: token wstrzykiwany przez skrypt zewnętrzny.
- ot-iframe.glitch.me: wersja próbna origin dostępna w elemencie iframe
- ot-iframe-3p.glitch.me: przykłady elementów iframe z innych domen
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.
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.
- 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.
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łowyFeatureDisabled: okres próbny jest obecnie wyłączony.
Kod źródłowyFeatureDisabledForUser: 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 2Niezabezpieczone: ź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łowyInvalidSignature: token ma nieprawidłowy lub zniekształcony podpis.
Kod źródłowyUszkodzony: 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łowySukces: 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łowyTokenDisabled: token został oznaczony jako wyłączony i nie można go używać.
Kod źródłowyTrialNotAllowed: wersja próbna origin nie jest dostępna dla bieżącego użytkownika.
Kod źródłowyUnknownTrial: token określa nazwę funkcji, która nie pasuje do żadnej znanej wersji próbnej.
Kod źródłowyWrongOrigin: ź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łowyWrongVersion 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:
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
:
Możesz zobaczyć taką wartość 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:
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
.
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:
W przypadku tokenów innych firm możesz też dopasowywać subdomeny:
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:
Jeśli token jest nadal prawidłowy, Narzędzia deweloperskie w Chrome wyświetlają stan Success
.
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 jeszcze się nie zakończyło
Datę zakończenia wersji próbnej origin możesz sprawdzić na stronie rejestracji:
W przypadku zakończenia okresu próbnego w Narzędziach deweloperskich będzie widoczny taki komunikat:
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 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:
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.
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
- Token w metatagu
- Token w nagłówku
- Funkcja dostępna w elemencie iframe
- Token wstrzyknięty przez skrypt zewnętrzny
- ot-iframe-3p.glitch.me: przykłady elementów iframe z innych domen
Więcej informacji
- Pierwsze kroki z testami origin Chrome
- Testowanie origin rozwiązań innych firm
- Przewodnik po okresie próbnym origin dla deweloperów stron internetowych
- Wyjaśnienie dotyczące testowania origin
- Testowanie origin
- Proces wprowadzania nowych funkcji w Chromium
- Wyjaśnienie: proces dostawy Blink
- Korzystanie z wersji próbnych źródła w Microsoft Edge
- Wersje próbne origin przeglądarki Firefox