zmiany w ciągu znaków klienta użytkownika, strategie stosowane w Chrome i Firefoksie w celu ograniczenia tego wpływu oraz sposoby, w jakie możesz pomóc.
Chrome, i Firefox a za kilka miesięcy udostępnimy wersję 100. Może to powodować uszkodzenia. w witrynach, które do wykonywania logiki biznesowej wymagają określenia wersji przeglądarki. W tym poście omówimy oś czasu zdarzeń oraz strategie stosowane przez Chrome i Firefox które pomogą zniwelować wpływ tych zmian i jak możesz im pomóc.
Ciąg znaków klienta użytkownika
Klient użytkownika (UA) to ciąg znaków, który przeglądarki wysyła w nagłówkach HTTP, dzięki czemu serwery
identyfikować przeglądarkę. Ciąg jest też dostępny przez JavaScript z
navigator.userAgent
Zwykle ma taki format:
<browser_name>/<major_version>.<minor_version>
Na przykład najnowsze wersje przeglądarek w momencie publikacji ten post to:
- Chrome:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36
- Firefox:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0
- Safari:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15
Wersja główna 100 – trzycyfrowy numer wersji.
Główna wersja 100 to kamień milowy zarówno dla Chrome, jak i Firefoksa. Oferuje również może spowodować błędy w witrynach, jeśli przechodzimy z trzycyfrowy numer wersji. Programiści stron internetowych używają najróżniejszych technik o analizie tych ciągów, od kodu niestandardowego po biblioteki analizy klienta użytkownika które mogą służyć do określenia odpowiedniej logiki przetwarzania. Klient użytkownika i inne mechanizmy raportowania dotyczące wersji wkrótce zgłoszą błąd trzycyfrowy numer wersji.
Osie czasu wersji 100
Przeglądarki w wersji 100 zostaną najpierw udostępnione w wersjach eksperymentalnych (Chrome Canary, Firefox Nightly), potem beta, a na koniec kanał.
Przeglądarka | Oś czasu |
---|---|
Chrome (wersja ) | 29 marca 2022 r. |
Firefox (wersja ) | 3 maja 2022 r. |
Dlaczego trzycyfrowy numer wersji może stanowić problem?
Gdy przeglądarki po raz pierwszy osiągnęły wersję 10 nieco ponad 12 lat temu, wykryto wiele problemów z bibliotekami analizy klienta użytkownika, ponieważ numer wersji głównej miał postać 1. cyfrę do dwóch.
Bez jednej specyfikacji różne przeglądarki mają różne formaty ciąg znaków User-Agent i analizę klienta użytkownika w danej witrynie. Jest niektóre biblioteki analizy składni mogą mieć zakodowane na stałe założenia lub błędy które nie uwzględniają trzycyfrowych numerów głównych wersji. Wiele bibliotek poprawiła logikę analizy po przejściu przeglądarek do dwucyfrowych numerów wersji, osiągnięcie 3-cyfrowego kamienia milowego powinno powodować mniej problemów. Michał [Taylor] inżynier z zespołu Chrome przeprowadził ankietę dotyczącą typowych analiz UA które nie znalazły żadnych problemów. Przeprowadzanie eksperymentów w Chrome wykrył pewne problemy, nad którymi pracujemy.
Co z tym robią przeglądarki?
W przeglądarkach Firefox i Chrome prowadzone są eksperymenty, w których bieżące wersje wersji 100 dla przeglądarek w wersji głównej, aby wykrywać możliwe lub usterki witryny. Doprowadziło to do kilku zgłoszonych problemów, a niektóre z nich zostały już naprawione. Eksperymenty te będą prowadzone do momentu opublikowania wersji 100.
Stosowane są też strategie ograniczania ryzyka tworzenia kopii zapasowych (na wypadek w wersji 100). publikowanie wersji stabilnej powoduje większe szkody w witrynach, niż oczekiwano.
Łagodzenie skutków działania Chrome
Plan tworzenia kopii zapasowych w Chrome zakłada użycie flagi do zablokowania wersji głównej w wersji 99 i podaj rzeczywisty numer wersji głównej w części wersji podrzędnej sekcji Ciąg znaków klienta użytkownika (kod zawiera już wylądował).
Wersja Chrome wskazana w ciągu znaków User-Agent jest zgodna ze wzorcem
<major_version>.<minor_version>.<build_number>.<patch_number>
Jeśli korzystasz z planu tworzenia kopii zapasowych, ciąg znaków User-Agent będzie wyglądał tak to:
99.101.4988.0
Chrome przeprowadza też eksperymenty, aby mieć pewność, że raportuje wartość 3-cyfrową w części wersji podrzędnej tekstu nie powoduje uszkodzenia, ponieważ wersja podrzędna w ciągu znaków klienta użytkownika Chrome przez bardzo długi czas zgłaszała wartość 0 obecnie się znajdujesz. Zespół Chrome zdecyduje, czy skorzystać z opcji zapasowej na podstawie liczby i wagi zgłoszonych problemów.
Łagodzenie skutków działania przeglądarki Firefox
W przeglądarce Firefox strategia będzie zależała od tego, jak ważna jest awaria. Firefox,
ma
mechanizmu interwencji w witrynach.
Zespół Mozilla internetowego może naprawić uszkodzone strony w Firefoksie za pomocą tego
. Po wpisaniu about:compat
na pasku adresu URL przeglądarki Firefox zobaczysz
jest obecnie naprawiany. Jeśli witryna ulegnie awarii, a wersja główna ma stan 100
określonych domen, możesz rozwiązać ten problem, wysyłając wersję 99.
Jeśli awaria jest powszechna, można zablokować wersję główną numer. Istnieją różne możliwe strategie. Każda z nich ma swój zalety i wady. Mozilla może wysłać rzeczywisty numer wersji jako wersję podrzędną numeru, zablokować ciąg znaków w niezmienionej formie lub wysłać prawdziwy numer wersji. za pomocą innych parametrów.
Każda strategia, która zwiększa złożoność ciągu znaków User-Agent, ma silne na ekosystem. Wspólnie unikajmy kolejnego dziwacznego wydarzenia zachowanie użytkownika.
Jak możesz pomóc?
W Chrome i Firefoksie Nightly możesz skonfigurować przeglądarkę pod kątem zgłaszania jako 100 i zgłaszać ewentualne problemy.
Konfigurowanie Chrome do zgłaszania wersji głównej jako 100
- Jedź do:
chrome://flags/#force-major-version-to-100
. - Ustaw opcję na
Enabled
.
Skonfiguruj Firefoksa Nightly, aby zgłosić wersję główną jako 100
- Otwórz menu Ustawienia w przeglądarce Firefox Nightly.
- Wyszukaj „Firefox 100” a następnie zaznacz pole „Klient użytkownika Firefox 100” Ciąg znaków” .
Testowanie i przesyłanie raportów
- Jeśli zajmujesz się obsługą witryny, przetestuj ją w Chrome oraz Firefox 100. Sprawdź kod i biblioteki analizy klienta użytkownika, i zapewnić obsługę trzycyfrowych numerów wersji. Mamy zebrał niektóre aktualnych wzorców.
- Jeśli utworzysz bibliotekę analizy klienta użytkownika, dodaj do niej testy w wersji 100 lub większych. Nasze wstępne testy pokazują, że ostatnie które działają poprawnie. Internet ma jednak długą tradycję więc jeśli masz stare wersje bibliotek analizy, czas na sprawdzenie ewentualnych problemów i podczas ostatecznego uaktualnienia.
- Jeśli przeglądasz internet i zauważysz problemy z głównymi wersja 100, przesłać zgłoszenie na stronie webcompat.com.