Od wersji Chrome 115 interfejsy API pamięci, service workerów i 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 tym artykule.
Dostępne wersje próbne wycofanych funkcji
Od wersji Chrome 115 rozpoczniemy 2 testy wycofywania:
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 jej stronach.DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
: pozwala witrynie na odseparowaniesessionStorage
w trakcie nawigacji.
Dzięki temu właściciele witryn będą mogli wykrywać i rozwiązywać problemy, zanim w Chrome 115 rozpocznie się proces partycjonowania przez firmy zewnętrzne.
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 programie DisableThirdPartyStoragePartitioning
wycofania z użycia, te interfejsy API pozostaną niepartycjonowane w kontekstach podmiotów zewnętrznych: interfejsy API miejsca na dane (np. localStorage, sessionStorage, IndexedDB, Quota i inne), interfejsy API komunikacji (np. BroadcastChannel, SharedWorkers i WebLocks) oraz interfejs ServiceWorker API.
Przykład:
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.
Test DisableThirdPartyStoragePartitioning
dotyczy wszystkich kontekstów zewnętrznych umieszczonych w zarejestrowanym pochodzeniu, natomiast test DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
dotyczy rejestrowania danego pochodzenia w celu uzyskania dostępu bez podziału, gdy jest ono umieszczane w kontekstach zewnętrznych.
Przykład:
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ć te testy wycofywania w czasie wydania Chrome 127 23 lipca 2024 r. Okres próbny w przypadku wycofania będzie trwał do 3 września 2024 r. w przypadku użytkowników Chrome w wersjach od 111 do 126.
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.
- Uruchom Chrome w wersji 115 (lub nowszej) i sprawdź, czy flaga
ThirdPartyStoragePartitioning
jest włączona. - 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).
- Zarejestruj się w programie wersji próbnej przed wycofaniem i uzyskaj token dla swoich domen, korzystając z tych linków:
- 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
- Aby witryna najwyższego poziomu nie dzieliła sessionStorage na podstawie nawigacji:
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
- 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ę:
- Dodaj token wersji próbnej do swojej strony:
- W przypadku wersji próbnej
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
możesz dodać parametrOrigin-Trial: <DEPRECATION TRIAL TOKEN>
do nagłówka odpowiedzi HTTP witryny najwyższego poziomu. Wartość parametru<DEPRECATION TRIAL TOKEN>
to token, który otrzymasz podczas rejestracji w ramach wersji próbnej wycofania. Możesz to też zrobić za pomocą kodu HTML: . - 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.
- W przypadku wersji próbnej
- 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. - 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 DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
wycofania nie obsługuje testów pochodzenia od podmiotu zewnętrznego, ponieważ uczestnik
musi być w jakimś momencie w trakcie trwania danej karty witryną najwyższego poziomu. Przewodnik na temat rozwiązywania 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 informacje o problemach do repozytorium GitHub dotyczącego wycofywania partycjonowanego miejsca na dane.