Od wersji 132 Chrome deweloperzy mogą wziąć udział w testach nowego podejścia do wyskakujących okienek w internecie: partycjonowanych popinów. Ta wersja próbna dla deweloperów jest dostępna tylko na komputerach. Ta funkcja nie jest jeszcze dostępna na urządzeniach z Androidem.
Partycjonowane wyskakujące okienko to nowy typ wyskakującego okienka, który został zaprojektowany z myślą o krótkich interakcjach, takich jak logowanie lub szybkie potwierdzenia. Wczytuje treści internetowe z 2 unikalnymi funkcjami:
Dlaczego potrzebujemy podzielonych wtyczek?
Pop-upy podzielone są zaprojektowane tak, aby zachować właściwości dotyczące prywatności w przypadku podzielonego iframe i właściwości dotyczące bezpieczeństwa w przypadku wyskakujących okienek.
Wraz z rosnącą liczbą użytkowników, którzy korzystają z przeglądania bez plików cookie innych firm, mogą być zakłócane procesy polegające na przechowywaniu danych w wyskakującym okienku w celu późniejszego ich pobrania w kontekście innych firm (np. w celu utrzymania sesji użytkownika w różnych witrynach). Partycjonowane popins mają na celu rozwiązanie tego problemu.
Jak działają podzielone popiny?
Pamięć każdego podzielonego popina jest podzielona na partycje według otwieracza. Partycjonowanie pamięci ogranicza dostęp do danych w różnych witrynach, co zmniejsza ryzyko śledzenia i ataków polegających na wstrzykiwaniu skryptów. Więcej informacji o partycjonowaniu miejsca na dane znajdziesz w dokumentacji.
Weź pod uwagę witrynę opener.example
, która umieszcza treści z witryny third-party.example
. Aby wyświetlać spersonalizowane treści w opener.example
, użytkownik musi się zalogować w third-party.example
. Gdy pliki cookie innych firm są zablokowane w przeglądarce użytkownika, aktualny proces wyskakujących okienek wygląda tak:
- Użytkownik klika przycisk logowania.
- Otworzy się okno.
- Użytkownik loguje się z kontekstu najwyższego poziomu
third-party.example
i zapisany zostaje plik cookie uwierzytelniający bez podziału. - Treści
third-party.example
osadzone wopener.example
nie mają dostępu do własnych plików cookie na najwyższym poziomie zapisanych wthird-party.example
, gdy zostały one przedstawione w kontekście plików cookie własnego źródła. Dzieje się tak, ponieważ plik cookie uwierzytelniający nie jest podzielony na partycje, a zatem jest plikiem cookie innej firmy.
Pamięć partycji wyskakującego okienka jest partycjonowana na potrzeby otwieracza. Wprowadziliśmy zmiany w krokach 3–4 procesów:
Użytkownik loguje się z kontekstu najwyższego poziomu
third-party.example
. Ponieważ jest otwarte w wydzielonym wyskakującym okienku, pamięć jest podzielona na partycje za pomocą elementuopener.example
.Treści
third-party.example
osadzone wopener.example
mają dostęp do własnego pliku cookie, który został ustawiony w wyskakującym okienku, ponieważ korzystają z tego samego partycjonowanego miejsca na dane.
interfejs w postaci okna modalnego względem karty, która go otworzyła;
Partycjonowane wyskakujące okienka mają pomóc użytkownikowi zrozumieć, że strona otwierająca i wyskakujące okienko są powiązane:
- Gdy użytkownik przełączy się na inną kartę, wyskakujące okienko automatycznie stanie się niewidoczne i niedostępne, tak samo jak okno modalne, które jest widoczne tylko wtedy, gdy aktywna jest karta, na której się znajduje.
- Gdy użytkownik wróci do karty otwierającej, wyskakujące okienko pojawi się ponownie.
- Użytkownik nie może wprowadzać zmian w pasku adresu przeglądarki w wyskakującym okienku.
Wypróbuj
W Chrome 132 wprowadzamy wersję próbną dla programistów funkcji partycjonowanych popinów. Oznacza to, że funkcja będzie dostępna za pomocą flagi. Aby spróbować użyć podzielonych popinów:
- Upewnij się, że używasz Chrome w wersji 132 lub nowszej.
- Otwórz
chrome://flags#partitioned-popins
i włącz flagę funkcji. - Uruchom ponownie Chrome.
- Wypróbuj naszą wersję demonstracyjną.
Używanie w witrynie podzielonych wyskakujących okienek
Aby użyć w swojej witrynie podzielonego popina, wywołaj metodę window.open()
, przekazując parametr popin
:
window.open("third-party-popin.example", "_blank", "popin");
Prześlij opinię
Testujemy podzielone wyskakujące okienka i zbieramy opinie programistów. Oto kilka potencjalnych scenariuszy użycia:
- Proces uwierzytelniania użytkownika. Jeśli masz wdrożony niestandardowy proces uwierzytelniania, który odbywa się w innej domenie niż Twoja witryna (np. użytkownicy
site.example
logują się w domenieauth-site.example
), otwórz stronę uwierzytelniania w pop-up, aby użyć pliku cookie sesji na stronie opener. - Umieszczona treść. Wypróbuj podzielone okienka, aby wyświetlać dodatkowe treści z widżetu innej firmy, np. okno ustawień, obraz lub plik PDF (lub inne treści, które są zwykle ładowane w wyskakującym okienku), w większym oknie. W tym przypadku wyskakujące okienka z podzielami mają na celu zachowanie stanu sesji użytkownika między widżetem innej firmy a Twoją witryną.
Jeśli w swoich rozwiązaniach uwzględniasz któryś z tych scenariuszy, masz inne przypadki użycia lub chcesz pomóc w rozwoju tej funkcji, wypróbuj ją i daj nam znać:
- Czy wystąpiły jakieś problemy?
- Czy masz jakieś sugestie dotyczące zwiększenia wygody użytkowników?
- Czy masz jakieś sugestie dotyczące ulepszonego interfejsu? Czy w szczególności uważasz, że interfejs wyraźnie wskazuje, że strona otwierająca i wyskakujące okienko są powiązane?
- Na ile ta funkcja jest według Ciebie przydatna?
- Czy są inne przypadki użycia, w których chciałbyś/chcesz używać podzielonych popinów?
Aby podzielić się opinią, zgłoś problem na GitHubie.