Od Chrome 115 pamięć masowa, mechanizmy Service Worker i komunikacyjne interfejsy API są partycjonowane w kontekście innych firm. Interfejsy API używane w kontekście innych firm są izolowane przez zasadę tej samej domeny, a interfejsy API, których dotyczy zmiana, są też oddzielone od kontekstu najwyższego poziomu. Witryny, które nie miały czasu na wdrożenie obsługi partycjonowania pamięci przez podmioty zewnętrzne, mogą wziąć udział w okresie próbnym wycofywania, aby tymczasowo rozdzielić (nadal izolowane przez zasadę tej samej domeny, ale usunąć izolację przez witrynę najwyższego poziomu) i przywrócić wcześniejsze zachowanie pamięci, mechanizmów Service Worker i komunikacyjnych interfejsów API w treściach umieszczonych w witrynie.
Oprócz przeprowadzenia ogólnego okresu próbnego wycofywania aplikacji window.sessionStorage
możesz wziąć udział w specjalnym okresie próbnym wycofywania.
Wersja próbna jest dostępna, ponieważ w niektórych witrynach trzeba przenieść proces signInWithRedirect
Firebase. Więcej informacji na temat tej migracji znajdziesz w tym artykule.
Dostępne okresy próbne wycofywania
Począwszy od Chrome 115 rozpoczniemy 2 wersje próbne wycofywania aplikacji:
DisableThirdPartyStoragePartitioning
: umożliwia witrynie najwyższego poziomu cofanie partycjonowania (tymczasowo usuwanie izolacji przez witryny najwyższego poziomu) w pamięci, mechanizmach Service Worker i komunikacyjnych interfejsach API w treściach firm zewnętrznych umieszczonych na jej stronach.DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
: umożliwia witrynie cofanie partycjisessionStorage
z różnych elementów nawigacyjnych.
Umożliwi to witrynom wykrywanie i rozwiązywanie problemów przed rozpoczęciem procesu wdrażania partycjonowania przez inne firmy w wersji Chrome 115.
Poniżej znajdziesz omówienie okresu próbnego wycofywania i tego, czego możesz się spodziewać. Jeśli chcesz podzielić się z nami swoją opinią lub napotkasz jakieś problemy podczas tego okresu próbnego, daj nam znać w repozytorium próbnym wycofywania partycji pamięci masowej z GitHub.
DisableThirdPartyStoragePartitioning
Jeśli zarejestrujesz witrynę najwyższego poziomu w ramach okresu próbnego wycofania DisableThirdPartyStoragePartitioning
, nie będą miały one partycjonowania w kontekstach innych firm:
interfejsy Storage API (np. localStorage, sessionStorage, IndexedDB, Quota itp.), interfejsy API do komunikacji (np. BroadcastChannel, SharedWorkers, WebLocks) i ServiceWorker API.
Przykład:
Bardziej szczegółowe objaśnienie zawiera wyjaśnienie projektu.
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
Jeśli zarejestrujesz się w ramach okresu próbnego wycofywania DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
, przejście karty do zarejestrowanego źródła spowoduje, że wszystkie elementy iframe z innych witryn tego samego pochodzenia pozostaną niepartycjonowane tylko przez Window.sessionStorage
i tylko przez cały czas istnienia danej karty.
Podczas gdy okres próbny wycofania DisableThirdPartyStoragePartitioning
ma wpływ na wszystkie konteksty innych firm umieszczone w zarejestrowanych źródłach, ten proces DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
zamiast tego rejestruje dane źródło, aby uzyskać niepartycjonowany dostęp, gdy jest osadzony w kontekście innych firm.
Przykład:
Co to oznacza dla programistów stron internetowych?
Witryny powinny skontrolować użycie niepartycjonowanych pamięci masowej, mechanizmów Service Worker i komunikacyjnych interfejsów API w kontekście rozwiązań zewnętrznych oraz, w razie potrzeby, przygotować się na partycjonowanie przez podmioty zewnętrzne przed wygaśnięciem okresu próbnego wycofania. Planujemy zakończyć okresy próbne wycofywania wraz z wydaniem Chrome 127 3 września 2024 r.
Aby poinstruować przeglądarkę, że ma ona usunąć partycjonowanie zawartości strony innej firmy umieszczonej na jej stronach, witryny najwyższego poziomu muszą zarejestrować się na co najmniej 1 próbę wycofania i dodać odpowiednie tokeny próbne do nagłówków odpowiedzi HTTP (patrz szczegółowy przykład poniżej).
Każda wersja próbna jest dostępna w systemach Windows, macOS, Linux, Chrome OS i Android.
Weź udział w okresach próbnych wycofywania
Poniżej znajdziesz krótkie omówienie tego, jak wziąć udział w jednym lub obu okresach próbnych wycofania. Bardziej szczegółowe instrukcje znajdziesz w artykule Pierwsze kroki z testami origin.
- Uruchom Chrome w wersji 115 (lub nowszej) i upewnij się, że włączona jest flaga
ThirdPartyStoragePartitioning
. - Sprawdź, czy partycjonowanie pamięci masowej nie zakłóca działania treści osób trzecich umieszczonych w witrynie najwyższego poziomu (jeśli nie, nie musisz brać udziału w okresach próbnych wycofania).
- Zarejestruj się, by wziąć udział w okresie próbnym wycofywania i uzyskać token dla swoich domen, odwiedzając stronę:
- Aby usunąć partycjonowanie pamięci masowej, mechanizmów Service Worker i komunikacyjnych interfejsów API w witrynie najwyższego poziomu z umieszczonej treści innej firmy:
DisableThirdPartyStoragePartitioning
- Aby usunąć podział sesji w pamięci podręcznej przez witrynę najwyższego poziomu:
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
- Aby usunąć partycjonowanie pamięci masowej, mechanizmów Service Worker i komunikacyjnych interfejsów API w witrynie najwyższego poziomu z umieszczonej treści innej firmy:
- Dodaj do strony token próbny origin:
- W okresie próbnym
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
możesz dodaćOrigin-Trial: <DEPRECATION TRIAL TOKEN>
do nagłówka odpowiedzi HTTP witryny najwyższego poziomu, gdzie<DEPRECATION TRIAL TOKEN>
zawiera token otrzymany podczas rejestracji w wersji próbnej wycofania. Możesz to też zrobić za pomocą HTML każdy film w Twojej mapie witryny ma zdefiniowany tytuł. - W przypadku wersji próbnej
DisableThirdPartyStoragePartitioning
token musi zostać podany za pomocą tagu HTML<meta>
wstrzykniętego za pomocą JavaScriptu. Metoda nagłówka HTTP nie jest obsługiwana.
- W okresie próbnym
- Załaduj witrynę w Chrome w wersji 115 (lub nowszej) z włączonym
ThirdPartyStoragePartitioning
i sprawdź, czy problemy z partycjonowaniem zostały prawidłowo rozwiązane. - Aby przestać korzystać z okresu próbnego wycofywania, po prostu usuń token dodany w kroku 2.
Próba wycofania funkcji DisableThirdPartyStoragePartitioning
obsługuje funkcję zewnętrznych prób źródłowych, ale skrypt innej firmy, który wstawia token, musi zostać oceniony w ramce najwyższego poziomu, zanim zostanie wczytany zewnętrzny element iframe, w którym nie zastosowano partycjonowania. Okres próbny wycofania usługi DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
nie obsługuje zewnętrznych wersji próbnych, ponieważ w okresie ważności danej karty użytkownik musi być w witrynie najwyższego poziomu. Przewodnik na temat rozwiązywania problemów z testami origin Chrome zawiera pełną listę kontrolną, która pozwala sprawdzić, czy token jest prawidłowo skonfigurowany.
Podziel się opinią
Jeśli napotkasz problemy lub opinie, prześlij do repozytorium GitHuba z próbną wycofaniem partycji na dane w pamięci masowej.