Nie zezwalaj na synchroniczne żądanie XMLHTTPRequest() w odrzucaniu strony
Chrome nie zezwala teraz na synchroniczne wywołania strony XMLHTTPRequest()
podczas korzystania ze strony
jest zamykana, gdy użytkownik przechodzi na inną stronę lub ją zamyka.
Dotyczy to usług beforeunload
, unload
, pagehide
i visibilitychange
.
Aby mieć pewność, że po wyładowaniu strony dane będą wysyłane na serwer, zalecamy
sendBeacon()
lub Fetch
keep-alive
. Obecnie użytkownicy firmowi mogą używać
Flaga zasady AllowSyncXHRInPageDismissal
, a deweloperzy mogą używać źródła
flaga próbna allow-sync-xhr-in-page-dismissal
umożliwiająca synchroniczne żądania XHR
podczas wyładowywania strony. Jest to tymczasowa rezygnacja i spodziewamy się
usuń tę flagę w Chrome 88.
Szczegółowe informacje na ten temat i ich alternatywy znajdziesz w artykule Nie zezwalaj na korzystanie z synchronicznej metody XMLHTTPRequest() podczas zamykania strony.
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Wycofanie obsługi FTP
Obecna implementacja FTP w Chrome nie obsługuje szyfrowania połączeń (FTPS) ani serwerów proxy. Korzystanie z FTP w przeglądarce jest wystarczająco niskie że nie można już inwestować w ulepszanie istniejącego klienta FTP. W na wszystkich platformach, których dotyczy ta zmiana, jest dostępnych więcej zaawansowanych klientów FTP.
W Chrome 72 usunięto obsługę pobierania zasobów podrzędnych dokumentu przez FTP i na renderowanie zasobów FTP najwyższego poziomu. Obecnie otwieram wyniki z URL-ami FTP w postaci listy katalogu lub pliku do pobrania w zależności od typu zasobu. Błąd w przeglądarce Google Chrome 74 i nowszych spowodował spadek obsługi Adresy URL z serwera FTP na serwerach proxy HTTP. W Google całkowicie usunęliśmy obsługę serwera proxy dla FTP Chrome 76.
Pozostałe możliwości implementacji FTP w Google Chrome są ograniczone wyświetlanie listy katalogu lub pobieranie zasobu przez niezaszyfrowanych połączeń.
Harmonogram wycofywania jest wstępnie ustawiony w ten sposób:
Chrome 80 (stabilna wersja w lutym 2020 r.)
Protokół FTP jest domyślnie wyłączony w klientach indywidualnych, ale może być włączony
przy użyciu: --enable-ftp
lub --enable-features=FtpProtocol
flagami wiersza poleceń. Możesz też włączyć tę funkcję za pomocą: #enable-ftp
na chrome://flags.
Chrome 81 (wersja stabilna w marcu 2020 roku)
FTP jest domyślnie wyłączony we wszystkich instalacjach Chrome, ale może być włączony
przy użyciu: --enable-ftp
lub --enable-features=FtpProtocol
flagami wiersza poleceń.
Chrome 82 (stabilna wersja od kwietnia 2020 roku)
Obsługa FTP zostanie całkowicie wycofana.
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Nie zezwalaj na wyskakujące okienka podczas wyładowywania strony
Strony nie mogą już używać window.open()
do otwierania nowych stron podczas wyładowywania.
Blokowanie wyskakujących okienek w Chrome już tego zabraniało, ale teraz jest zabronione zarówno
czy blokada wyskakujących okienek jest włączona.
Firmy mogą używać flagi zasady AllowPopupsDuringPageUnload
, aby zezwalać
wyskakujące okienka podczas wyładowywania. Chrome oczekuje, że ta flaga zostanie usunięta w Chrome 82.
Zamiar usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Serializacja i przesyłanie obrazu nieczyszczone z biblioteki zostały usunięte
Błędy będą teraz zgłaszane, gdy skrypt spróbuje zserializować lub przenieść nieoczyszczony przez źródło pochodzenia (ImageBitmap). Niepożądana źródłowa mapa ImageBitmap to taki, zawiera dane z obrazów z innych domen, które nie zostały zweryfikowane przez logikę CORS.
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Obsługa protokołów wymaga teraz bezpiecznego kontekstu
Metody registerProtocolHandler()
i unregisterProtocolHandler()
wymagają bezpiecznego kontekstu. Te metody mogą ponownie konfigurować stany klienta
co pozwalałoby na przekazywanie
potencjalnie poufnych danych
Metoda registerProtocolHandler()
udostępnia stronie internetowej mechanizm rejestracji
obsługi protokołu po wyrażeniu zgody przez użytkownika. Na przykład usługa internetowa
aplikacja e-mail może zarejestrować się do obsługi schematu mailto:
. Odpowiednik
Metoda unregisterProtocolHandler()
pozwala witrynie porzucić
rejestrację z obsługą protokołów.
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Usunięto komponenty sieciowe w wersji 0
Komponent Web Komponenty w wersji 0 został usunięty z Chrome. Interfejsy API komponentów sieciowych w wersji 1 to standardem platformy internetowej, który został wprowadzony w wersjach Chrome, Safari, Firefox i (wkrótce) Edge. Wskazówki dotyczące uaktualniania znajdziesz w artykule Aktualizacja komponentów sieciowych: więcej czasu na uaktualnienie interfejsów API do wersji 1. Następujące funkcje zostały usunięte. Wycofanie dotyczy tych elementów: wymienionych poniżej.
Elementy niestandardowe
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Importy HTML
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Shadow DOM
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Usuń -webkit-appearance:button z dowolnego elementu
Zmienia -webkit-appearance:button
, aby działała tylko z elementami <button>
i <input>
przyciskami. Jeśli dla nieobsługiwanego elementu określono button
, element ten otrzymał
na wygląd domyślny. Wszystkie pozostałe słowa kluczowe (-webkit-appearance
) zostały już dodane
takiego ograniczenia.
Zamiar usunięcia | Stan platformy Chrome | Błąd Chromium
Zasady wycofywania
Aby zapewnić sprawne działanie platformy, czasami usuwamy z niej interfejsy API, których używanie zostało już sprawdzone. Może być wiele powodów, dla których usuwamy interfejsu API, takich jak:
- Są one zastępowane nowszymi interfejsami API.
- Są one aktualizowane, aby odzwierciedlać zmiany w specyfikacjach, aby zapewnić wyrównanie i spójność z innymi przeglądarkami.
- To wczesne eksperymenty, które nigdy nie przeszły do skutków w innych przeglądarkach i mogą zwiększyć obciążenie pomocy dla programistów stron internetowych.
Niektóre z tych zmian będą miały wpływ na bardzo niewielką liczbę witryn. Aby z wyprzedzeniem zapobiegać występowaniu problemów, staramy się powiadamiać deweloperów z wyprzedzeniem, aby mogli wprowadzić zmiany, które zapewnią nieprzerwane działanie witryn.
W Chrome obowiązuje obecnie proces wycofywania i usuwania interfejsów API:
- Opublikuj ogłoszenie na liście adresowej blink-dev.
- W przypadku wykrycia użycia strony na stronie możesz ustawić ostrzeżenia i określić przedziały czasowe w konsoli Narzędzi deweloperskich w Chrome.
- Zaczekaj, monitoruj, a następnie usuń funkcję, gdy użycie spadnie.
Listę wszystkich wycofanych funkcji znajdziesz na stronie chromestatus.com, korzystając z filtra wycofanego . Funkcje usunięte po zastosowaniu filtra usuniętego znajdziesz na stronie chromestatus.com. Spróbujemy również podsumować niektóre zmiany, wnioski i ścieżki migracji.