.
Nie zezwalaj na synchroniczne żądania XMLHTTPRequest() w zamykaniu strony
Chrome nie zezwala teraz na synchroniczne wywołania XMLHTTPRequest()
podczas zamykania strony, gdy użytkownik ją zamyka lub ją opuszcza.
Dotyczy beforeunload
, unload
, pagehide
i visibilitychange
.
Aby mieć pewność, że po wyładowaniu strony dane są wysyłane na serwer, zalecamy stosowanie metody sendBeacon()
lub Fetch
keep-alive
. Na razie użytkownicy korporacyjni mogą używać flagi zasady AllowSyncXHRInPageDismissal
, a deweloperzy mogą użyć flagi testowej allow-sync-xhr-in-page-dismissal
, aby zezwolić na synchroniczne żądania XHR podczas wczytywania strony. Jest to tymczasowa rezygnacja, którą planujemy usunąć w Chrome 88.
Szczegółowe informacje na temat tej i alternatywnych rozwiązań znajdziesz w artykule Nie zezwalaj na używanie synchronicznego żądania XMLHTTPRequest() podczas zamykania strony.
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
Wycofanie obsługi FTP
Obecna implementacja FTP w Chrome nie obsługuje połączeń szyfrowanych (FTPS) ani serwerów proxy. Wykorzystanie FTP w przeglądarce jest na tyle niskie, że nie warto już inwestować w usprawnienie obecnego klienta FTP. Dodatkowo na wszystkich platformach, na których występuje problem, są dostępne lepsze klienty FTP.
W Chrome 72 usunęliśmy obsługę pobierania zasobów podrzędnych dokumentów przez FTP i renderowania zasobów FTP najwyższego poziomu. Obecnie przejście do adresów URL FTP powoduje wyświetlenie listy katalogów lub pliku do pobrania w zależności od typu zasobu. Błąd w Google Chrome 74 i nowszych wersjach spowodował wyłączenie obsługi dostępu do adresów URL FTP przez serwery proxy HTTP. Obsługa FTP na serwerze proxy została całkowicie wycofana w Google Chrome 76.
Pozostałe możliwości implementacji FTP w Google Chrome są ograniczone do wyświetlania listy katalogów lub pobierania zasobów przez nieszyfrowane połączenia.
Harmonogram wycofywania jest wstępnie ustawiony w następujący sposób:
Chrome 80 (wersja stabilna w lutym 2020 r.)
FTP jest domyślnie wyłączony w klientach indywidualnych, ale można go włączyć za pomocą flagi wiersza poleceń --enable-ftp
lub --enable-features=FtpProtocol
. Można też ją włączyć za pomocą opcji #enable-ftp
na stronie chrome://flags.
Chrome 81 (wersja stabilna w marcu 2020 r.)
FTP jest domyślnie wyłączony we wszystkich instalacjach Chrome, ale można go włączyć za pomocą flagi wiersza poleceń --enable-ftp
lub --enable-features=FtpProtocol
.
Chrome 82 (wersja stabilna od kwietnia 2020 r.)
Obsługa FTP zostanie całkowicie wycofana.
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
Nie zezwalaj na wyskakujące okienka podczas wczytywania strony
Strony nie mogą już używać elementu window.open()
do otwierania nowych stron podczas wyładowywania. Funkcja blokowania wyskakujących okienek w Chrome już na to nie pozwalała, ale teraz jest to zabronione niezależnie od tego, czy jest ono włączone.
Firmy mogą używać flagi zasady AllowPopupsDuringPageUnload
, aby zezwalać na wyskakujące okienka podczas wyładowywania. Zamierzamy usunąć tę flagę w Chrome 82.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Serializacja i przenoszenie obrazu ImageBitmap bez czyszczenia pamięci zostały usunięte
Błędy będą teraz zgłaszane, gdy skrypt spróbuje zserializować lub przesłać obraz ImageBitmap nieoczyszczony z jego źródła. ObrazBitmap niezawierający oczyszczonych z nich źródeł to plik, który zawiera dane z obrazów z innych domen, które nie są zweryfikowane przez logikę CORS.
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
Obsługa protokołów wymaga teraz bezpiecznego kontekstu
Metody registerProtocolHandler()
i unregisterProtocolHandler()
wymagają teraz bezpiecznego kontekstu. Te metody umożliwiają zmianę konfiguracji stanów klientów w taki sposób, aby umożliwiały przesyłanie potencjalnie poufnych danych przez sieć.
Metoda registerProtocolHandler()
zapewnia stronie internetowej mechanizm rejestracji na potrzeby obsługi protokołu po uzyskaniu zgody użytkownika. Na przykład internetowa aplikacja pocztowa może zarejestrować się w celu obsługi schematu mailto:
. Odpowiednia metoda unregisterProtocolHandler()
umożliwia witrynie zrezygnowanie z rejestracji obsługującej protokół.
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
Usunięto komponenty internetowe w wersji 0
Komponenty internetowe w wersji 0 zostały usunięte z Chrome. Interfejsy API komponentu Web Komponenty w wersji 1 to standard platform internetowych, który jest udostępniany w Chrome, Safari, Firefox i (wkrótce) na Edge. Wskazówki dotyczące uaktualniania znajdziesz w artykule Aktualizacja komponentów sieciowych: więcej czasu na uaktualnienie do interfejsów API w wersji 1. Opisane poniżej funkcje zostały usunięte. Obejmuje to elementy wymienione poniżej.
Elementy niestandardowe
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
Importy HTML
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
model DOM
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
Usunięcie atrybutu -webkit-appearance:button w przypadku dowolnych elementów
Zmienia -webkit-appearance:button
, aby działał tylko z przyciskami <button>
i <input>
. Jeśli w nieobsługiwanym elemencie określono button
, ma on wygląd domyślny. Pozostałe słowa kluczowe typu -webkit-appearance
mają już to ograniczenie.
Intencja usunięcia | Stan platformy Chrome | Błąd Chromium
Zasady wycofywania
Aby zapewnić prawidłowe działanie platformy, czasami usuwamy z niej interfejsy API, które działają zgodnie z oczekiwaniami. Jest wiele powodów, dla których możemy usunąć interfejs API, na przykład:
- Zastąpią je nowsze interfejsy API.
- Są one aktualizowane w sposób odzwierciedlający zmiany w specyfikacjach w celu zapewnienia zgodności i spójności z innymi przeglądarkami.
- Są to wczesne eksperymenty, które nigdy nie sprawdziły się w innych przeglądarkach, dzięki czemu mogą zwiększyć obciążenie pomocy dla programistów stron internetowych.
Niektóre z tych zmian będą miały wpływ na niewielką liczbę witryn. Aby zapobiec problemom z wyprzedzeniem, staramy się powiadamiać o tym deweloperów, aby mogli wprowadzić niezbędne zmiany i utrzymać działanie witryny.
W Chrome obecnie dostępny jest proces wycofywania i usuwania interfejsów API. Ogólnie obejmuje on następujące zasady:
- Ogłoszenie na liście adresowej blink-dev.
- Gdy na stronie zostanie wykryte użycie danych, w konsoli Narzędzi deweloperskich w Chrome ustaw ostrzeżenia i podaj skalę czasu.
- Zaczekaj, monitoruj, a potem usuń tę funkcję w miarę spadku wykorzystania.
Listę wszystkich wycofanych funkcji znajdziesz na chromestatus.com za pomocą wycofanego filtra , a usuniętych funkcji – usuniętego filtra. W tych postach spróbujemy też podsumować niektóre zmiany, rozumowanie i ścieżki migracji.