Weź udział w okresie próbnym wycofywania niepartycji miejsca na dane innej firmy, mechanizmów Service Worker i interfejsów API komunikacji

Od wersji Chrome 115 miejsce na dane, service workery i interfejsy API komunikacji są partycjonowane w kontekstach innych firm. Oprócz izolacji przez zasadę dotyczącą tego samego pochodzenia interfejsy API używane w kontekstach innych firm są też oddzielone przez kontekst witryny najwyższego poziomu.

Witryny, które nie miały czasu na wdrożenie obsługi partycjonowania pamięci zewnętrznej przez strony trzecie, mogą wziąć udział w próbnym wycofaniu, aby tymczasowo odpartycjonować (nadal izolować według zasady „tego samego źródła”, ale usunąć izolowanie według witryny najwyższego poziomu) i przywrócić wcześniejsze działanie interfejsów API pamięci, usług i komunikacji w ramach treści umieszczonych w witrynie.

Oprócz ogólnego okresu próbnego bez partycjonowania możesz wziąć udział w okresie próbnym wycofywania tylko w przypadku window.sessionStorage. Ta wersja próbna jest dostępna, ponieważ niektóre witryny muszą przenieść proces signInWithRedirect Firebase. Więcej informacji o tej migracji znajdziesz w artykule Sprawdzone metody korzystania z funkcji signInWithRedirect w przeglądarkach, które blokują dostęp do pamięci masowej innych firm.

Aby dać deweloperom więcej czasu na dostosowanie się do nowej implementacji partycjonowania pamięci, testy wycofywania będą dostępne do wydania Chrome 127, które zaplanowano na 23 lipca 2024 roku. W przypadku użytkowników Chrome w wersjach 111–126 okres testowania wycofania wygaśnie 3 września 2024 r.

Dostępne wersje próbne wycofanych funkcji

Od wersji 115 Chrome dostępne są 2 okresy próbne wycofywania:

  1. DisableThirdPartyStoragePartitioning: pozwala witrynie najwyższego poziomu na odseparowanie (tymczasowe usunięcie izolacji przez witrynę najwyższego poziomu) w interfejsach API pamięci masowej, service workerów i komunikacji w treściach innych firm umieszczonych na stronach.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning: pozwala witrynie na odseparowanie sessionStorage w trakcie nawigacji.

Poniżej znajdziesz omówienie okresu testowego wycofania i informacje o tym, czego możesz się spodziewać. Jeśli chcesz podzielić się opinią lub napotkasz problemy podczas testów, daj nam znać w repozytorium na GitHubie poświęconym testom wycofywania obsługi partycjonowanego magazynu danych.

DisableThirdPartyStoragePartitioning

Jeśli zarejestrujesz witrynę najwyższego poziomu w DisableThirdPartyStoragePartitioning testowaniu wycofywania, te interfejsy API pozostaną niepartycjonowane w kontekstach podmiotów zewnętrznych: interfejsy API magazynu danych (np. localStorage, sessionStorage, IndexedDB, Quota i inne), interfejsy API komunikacji (np. BroadcastChannel, SharedWorkers i WebLocks) oraz interfejs ServiceWorker API.

Przykład:

Schemat partycjonowania miejsca na dane

Więcej informacji znajdziesz w artykule na temat projektów.

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

Jeśli weźmiesz udział w próbie DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning wycofania, przejście na kartę z zarejestrowanym źródłem spowoduje, że wszystkie iframe firm zewnętrznych tego samego źródła pozostaną niedzielone tylko w przypadku Window.sessionStorage i tylko przez czas trwania danej karty. Testowa rezygnacja z DisableThirdPartyStoragePartitioning dotyczy wszystkich kontekstów zewnętrznych zaimplementowanych w zarejestrowanym pochodzeniu, natomiast testowa rezygnacja z DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning rejestruje dane pochodzenie, aby uzyskać dostęp bez podziału, gdy jest ono zaimplementowane w kontekstach zewnętrznych.

Przykład:

Schemat partycjonowania miejsca na dane po ogólnym partycjonowaniu.

Co to oznacza dla programistów stron internetowych?

Witryny powinny sprawdzić, jak są wykorzystywane w kontekstach innych firm interfejsy API niepartycjonowanego magazynu, Service Worker i interfejsy API do komunikacji. W razie potrzeby należy się przygotować do partycjonowania w innych firmach przed wygaśnięciem okresu testowego. Chcemy zakończyć testy wycofywania w wersji 127 Chrome, która zostanie wydana 3 września 2024 r.

Aby polecić przeglądarce odblokowanie pamięci w ramach treści innych firm wbudowanych na stronach, witryny najwyższego poziomu muszą zarejestrować się w jednym lub obu testach wycofywania i dodać odpowiednie tokeny testowe do nagłówków odpowiedzi HTTP (patrz szczegółowy przykład poniżej).

Każda wersja próbna wycofania jest dostępna w systemach Windows, Mac, Linux, ChromeOS i Android.

Uczestniczyć w testach wycofywania

Poniżej znajdziesz krótkie omówienie tego, jak wziąć udział w jednym lub obu testach wycofania. Aby uzyskać bardziej szczegółowe instrukcje, przeczytaj artykuł Pierwsze kroki z testami pochodzenia.

  1. Uruchom Chrome w wersji 115 (lub nowszej) i sprawdź, czy flaga ThirdPartyStoragePartitioning jest włączona.
  2. Sprawdź, czy działanie treści innych firm umieszczonych w Twojej witrynie najwyższego poziomu jest zaburzone przez partycjonowanie pamięci (jeśli nie, nie musisz uczestniczyć w testach wycofywania).
  3. Zarejestruj się w programie wersji próbnej przed wycofaniem i uzyskaj token dla swoich domen, korzystając z tych linków:
    1. Aby witryna najwyższego poziomu mogła odpartycjonować miejsce na dane, usługi dla programistów i interfejsy API komunikacji w treściach zewnętrznych wbudowanych w witrynę: DisableThirdPartyStoragePartitioning
    2. Aby witryna najwyższego poziomu nie dzieliła sessionStorage na podstawie nawigacji: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Dodaj token wersji próbnej do swojej strony:
    1. W przypadku wersji próbnej DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning możesz dodać parametr Origin-Trial: <DEPRECATION TRIAL TOKEN> do nagłówka odpowiedzi HTTP witryny najwyższego poziomu. Wartość <DEPRECATION TRIAL TOKEN> zawiera token, który otrzymałeś/otrzymałaś podczas rejestracji w ramach wersji próbnej wycofania. Możesz to też zrobić za pomocą kodu HTML: .
    2. W przypadku wersji próbnej DisableThirdPartyStoragePartitioning token musi być przekazany za pomocą tagu HTML <meta> wstrzykniętego za pomocą JavaScriptu. Metoda nagłówka HTTP nie jest obsługiwana.
  5. Otwórz witrynę w Chrome 115 (lub nowszej wersji) z opcją ThirdPartyStoragePartitioning nadal włączoną i sprawdź, czy wszystkie problemy związane z partycjonowaniem zostały odpowiednio rozwiązane.
  6. Aby zrezygnować z testowania wersji wycofywanej, usuń token dodany w kroku 2.

Wersja próbna DisableThirdPartyStoragePartitioning obsługuje testy pochodzenia zewnętrznego, ale skrypt zewnętrzny, który wstrzykuje token, musi zostać oceniony w ramce najwyższego poziomu, zanim zostanie załadowany element iframe zewnętrzny, do którego nie zostanie zastosowane partycjonowanie. Test wycofania DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioningnie obsługuje testów pochodzenia zewnętrznego, ponieważ w przypadku rejestracji w jakimś momencie w cyklu życia danej karty strona musi być stroną najwyższego poziomu. Przewodnik Rozwiązywanie problemów z testami pochodzenia w Chrome zawiera pełną listę kontrolną, która pomoże Ci sprawdzić, czy token jest prawidłowo skonfigurowany.

Podziel się opinią

Prześlij opinię lub zgłoszenie problemu do repozytorium GitHub dotyczącego wycofywania partycjonowanego miejsca na dane.