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:
- 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 wstawiony przez skrypt innej firmy.
- 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
W Chrome 93 Narzędzia deweloperskie udostępniają informacje o próbnym dostępie do witryn w panelu Aplikacja dla wybranego kadru.
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.
- 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.
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łowyFeatureDisabled: okres próbny jest obecnie wyłączony.
Kod źródłowyFeatureDisabledForUser: 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 2Niezabezpieczone: ź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łowyInvalidSignature: token ma nieprawidłowy lub uszkodzony podpis.
Kod źródłowyUszkodzony: 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łowySukces: 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łowyTokenDisabled: token został oznaczony jako wyłączony i nie może być używany.
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: 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łowyWrongVersion: 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:
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:
Wartość tokena może wyglądać tak:
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:
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.
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:
Możesz też dopasowywać subdomeny do tokenów innych firm:
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:
Jeśli token jest nadal ważny, Narzędzia deweloperskie w Chrome wyświetlają stan Success
:
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.
testowanie origin nie zostało zakończone;
Datę zakończenia wersji próbnej możesz sprawdzić na stronie rejestracji:
W przypadku zakończonych okresów próbnych DevTools wyświetli coś takiego:
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 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:
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.
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
- Token w metatagu
- Token w nagłówku
- Funkcja dostępna w ramce iframe
- Token wstrzyknięty przez skrypt zewnętrzny
- ot-iframe-3p.glitch.me: przykłady tagów iframe w wielu domenach
Więcej informacji
- Pierwsze kroki z testowaniem origin w Chrome
- Testy pochodzenia zewnętrznego
- Przewodnik dla deweloperów internetowych dotyczący testów wersji próbnych Origin
- Informacje o okresie próbnym Origin
- Testowanie origin
- Proces wdrażania nowych funkcji w Chromium
- Wyjaśnienie: poznawanie procesu dostawy w Blink
- Korzystanie z wersji próbnych origin w Microsoft Edge
- Weryfikacja origin w Firefoxie