Od wersji Chrome 132 deweloperzy mogą wziąć udział w programie testów deweloperskich nowego podejścia do wyskakujących okien w internecie: podzielonych wyskakujących okien. Wersja próbna dla deweloperów jest dostępna tylko na komputerach, a funkcja nie jest jeszcze dostępna na urządzeniach z Androidem.
Podzielone wyskakujące okienko to nowy rodzaj wyskakującego okienka przeznaczony do krótkotrwałych interakcji, takich jak logowanie lub szybkie potwierdzenia. Wczytuje treści internetowe z 2 unikalnymi funkcjami:
Dlaczego potrzebujemy podzielonych wyskakujących okien?
Wyskakujące okienka z podziałem na partycje zostały zaprojektowane tak, aby zachować właściwości prywatności ramki iframe z podziałem na partycje i właściwości bezpieczeństwa wyskakujących okienek.
Większa liczba użytkowników rezygnujących z przeglądania bez plików cookie innych firm może zakłócić działanie procesów, które polegają na przechowywaniu danych w wyskakującym okienku w celu późniejszego pobrania ich w kontekście innej firmy (np. w celu utrzymania sesji użytkownika w różnych witrynach). Partycjonowane wyskakujące okienka mają rozwiązać ten problem.
Jak działają podzielone wyskakujące okienka?
Miejsce na dane każdego podzielonego wyskakującego okienka jest podzielone na partycje dla otwierającego. Partycjonowanie pamięci ogranicza dostęp do danych z różnych witryn, co zmniejsza ryzyko śledzenia i ataków polegających na wstrzykiwaniu skryptów. Więcej informacji o podziale miejsca na dane znajdziesz w naszej dokumentacji.
Rozważmy opener.examplewitrynę, która osadza treści z third-party.example. Aby wyświetlać spersonalizowane treści na opener.example, użytkownik musi zalogować się na third-party.example. Gdy pliki cookie innych firm są blokowane w przeglądarce użytkownika, bieżący proces wyświetlania wyskakującego okienka wygląda tak:
- Użytkownik klika przycisk logowania.
- Otworzy się okno.
- Użytkownik loguje się z kontekstu najwyższego poziomu
third-party.examplei zapisywany jest niepodzielony plik cookie uwierzytelniania. - Treści
third-party.exampleumieszczone na stronieopener.examplenie mają dostępu do własnych plików cookie najwyższego poziomu zapisanych na stroniethird-party.example, gdy były wyświetlane w kontekście własnym. Dzieje się tak, ponieważ plik cookie uwierzytelniania nie jest podzielony na partycje, a więc jest plikiem cookie innej firmy.
third-party.example umieszczony na stronie opener.example nie ma dostępu do własnego zestawu plików cookie bez partycji ustawionego w kontekście najwyższego poziomu wyskakującego okienka third-party.example.Pamięć podręczna podzielonego okienka pop-in jest podzielona na potrzeby otwierającego. Zmienia to kroki 3–4 w procesach:
Użytkownik loguje się w kontekście najwyższego poziomu
third-party.example. Ponieważ jest otwierana w podzielonym wyskakującym okienku, pamięć jest dzielona przezopener.example.Treści
third-party.exampleumieszczone na stronieopener.examplemają dostęp do własnego pliku cookie ustawionego w okienku pop-in, ponieważ korzystają z tego samego partycjonowanego miejsca na dane.
third-party.example umieszczony w witrynie opener.example ma dostęp do własnego pliku cookie z partycjami ustawionego w kontekście najwyższego poziomu wyskakującego okna third-party.example, ponieważ plik cookie jest podzielony na partycje według witryny opener.example.Interfejs podobny do okna modalnego względem karty otwierającej
Wyskakujące okienka z podziałem mają pomóc użytkownikowi zrozumieć, że strona otwierająca i wyskakujące okienko są ze sobą powiązane:
- Gdy użytkownik przełączy się na inną kartę, wyskakujące okienko automatycznie stanie się niewidoczne i niedostępne, tak jak okno modalne jest widoczne tylko wtedy, gdy aktywna jest karta otwierająca.
- Gdy użytkownik wróci na kartę otwierającą, ponownie wyświetli się wyskakujące okienko.
- Użytkownik nie może wprowadzać zmian na pasku adresu przeglądarki w wyskakującym okienku.
Wypróbuj
W Chrome 132 wprowadzamy wersję próbną dla deweloperów funkcji podzielonych wyskakujących okienek. Oznacza to, że funkcja będzie dostępna za flagą. Oto jak możesz wypróbować podzielone wyskakujące okienka:
- Upewnij się, że używasz Chrome w wersji 132 lub nowszej.
- Przejdź do sekcji
chrome://flags#partitioned-popinsi włącz flagę funkcji. - Uruchom ponownie Chrome.
- Wypróbuj naszą wersję demonstracyjną.
Używanie w witrynie wyskakujących okienek z podziałem na sekcje
Aby użyć w witrynie podzielonego wyskakującego okienka, wywołaj metodę window.open() z przekazanym parametrem popin:
window.open("third-party-popin.example", "_blank", "popin");
Prześlij opinię
Testujemy podzielone wyskakujące okienka i czekamy na opinie programistów. Oto kilka potencjalnych scenariuszy użycia:
- Proces uwierzytelniania użytkownika. Jeśli masz wdrożony niestandardowy proces uwierzytelniania, a uwierzytelnianie odbywa się w innej domenie niż Twoja witryna (np.
site.exampleużytkownicy logują się na stronieauth-site.example), spróbuj otworzyć stronę uwierzytelniania w wyskakującym okienku, aby użyć pliku cookie sesji na stronie otwierającej. - Umieszczone treści Wypróbuj podzielone wyskakujące okienka, aby wyświetlać dodatkowe treści z widżetu innej firmy, takie jak okno dialogowe ustawień, obraz lub plik PDF (lub inne treści, które zwykle są wczytywane w wyskakującym okienku), renderowane w większym oknie. W tym przypadku podzielone wyskakujące okienka mają na celu zachowanie stanu sesji użytkownika między widżetem innej firmy a Twoją witryną.
Jeśli w swoich rozwiązaniach masz któryś z tych scenariuszy, znasz inne przypadki użycia lub chcesz pomóc w kształtowaniu przyszłości tej funkcji, wypróbuj ją i daj nam znać:
- Czy wystąpiły jakieś problemy?
- Czy masz jakieś sugestie dotyczące poprawy komfortu użytkowników?
- Czy masz jakieś sugestie dotyczące lepszego interfejsu? Czy interfejs wyraźnie wskazuje, że strona otwierająca i wyskakujące okienko są ze sobą powiązane?
- Na ile przydatna jest dla Ciebie ta funkcja?
- Czy są inne zastosowania, w których chcesz używać podzielonych wyskakujących okienek?
Aby podzielić się swoimi przemyśleniami, zgłoś problem na GitHubie.