Od Chrome 115 mechanizmy pamięci masowej, mechanizmy Service Worker i komunikacyjne interfejsy API są podzielone w kontekstach innych firm. Interfejsy API używane w kontekście innych firm są izolowane od zasad dotyczących tej samej domeny, a interfejsy API, których dotyczy problem, są dodatkowo 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 o tej migracji znajdziesz w artykule Sprawdzone metody korzystania z metody signInWithRedirect w przeglądarkach, które blokują dostęp innych firm do pamięci masowej.
Aby dać deweloperom więcej czasu na dostosowanie się do nowej implementacji partycjonowania pamięci, wersje próbne wycofania będą dostępne do momentu opublikowania wersji Chrome 127, która jest planowana na 3 września 2024 roku.
Dostępne okresy próbne wycofywania
Od wersji Chrome 115 dostępne są 2 wersje próbne wycofania:
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.
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.