Elementy wycofane i usunięte w Chrome 70

Joe Medley
Joe Medley

Usunięcia

Usuwanie AppCache z niebezpiecznych kontekstów

Gdy używany jest w niebezpiecznych kontekstach, AppCache może umożliwiać trwałe ataki cross-site scripting online i offline. Jest to poważne nasilenie ataku typu cross-site scripting.

Aby ograniczyć to zagrożenie, AppCache jest teraz obsługiwany tylko w przypadku źródeł, które obsługują HTTPS.

Deweloperzy, którzy szukają alternatywy dla AppCache, powinni używać skryptów service worker. Aby ułatwić ten proces, udostępniliśmy eksperymentalną bibliotekę.

Intend to Remove | Chromestatus Tracker | Chromium Bug

Usuwanie anonimowego gettera dla elementu HTMLFrameSetElement

Anonimowy getter dla HTMLFrameSetElement jest niestandardowy i dlatego jest usuwany. Ta funkcja została dodana 13 lat temu, aby rozwiązać problem z kompatybilnością, który wtedy istniał, ale teraz już nie występuje. Jest to funkcja niestandardowa, więc nie ma alternatyw. Korzystanie z tych funkcji jest na tyle niskie, że nie spodziewamy się problemów.

Intend to Remove | Chromestatus Tracker | Chromium Bug

Wycofanie i usunięcie Gamepads.item()

Stary interfejs item() został usunięty z tablicy Gamepads. Ta zmiana poprawia zgodność z Firefoksem, który jest do tej pory jedyną przeglądarką z wdrożonym standardem GamepadList.

Chromestatus Tracker | Chromium Bug

Elementy wycofane

Wycofanie wersji 0 elementów niestandardowych

Elementy niestandardowe to technologia komponentów internetowych, która umożliwia tworzenie nowych tagów HTML, rozszerzanie dotychczasowych tagów lub rozszerzanie komponentów stworzonych przez innych programistów. Od wersji 54, która została wydana w październiku 2016 r., elementy niestandardowe w wersji 1 są implementowane w Chrome. Elementy niestandardowe w wersji 0 były wersją eksperymentalną, która nie została zaimplementowana w innych przeglądarkach. W związku z tym została wycofana i zostanie usunięta w Chrome 80, około lutego 2020 r.

Zamierzamy wycofać | Chromestatus Tracker | Błąd w Chromium

Wycofanie obsługi importów kodu HTML

Importy HTML umożliwiają importowanie kodu HTML z jednego dokumentu do innego. Ta funkcja była częścią wczesnej eksperymentalnej wersji komponentów internetowych, która nie została zaimplementowana w innych przeglądarkach. W związku z tym wycofujemy tę funkcję. Planujemy usunąć ją z Chrome 73 w kwietniu 2019 r. Witryny, które polegają na importowaniu kodu HTML, wymagają już teraz polyfilla w przypadku przeglądarek innych niż Chrome. Gdy importowanie HTML zostanie usunięte, strony z polyfillem powinny nadal działać w Chrome.

Zamierzamy wycofać | Chromestatus Tracker | Błąd w Chromium

Wycofanie Shadow DOM w wersji 0

Shadow DOM to technologia komponentów internetowych, która wykorzystuje ograniczone poddrzewa w elementach. Shadow DOM w wersji 1 został wdrożony w Chrome od wersji 53, która została wydana w sierpniu 2016 roku. Shadow DOM v0 to wersja eksperymentalna, która nie została zaimplementowana w innych przeglądarkach. W związku z tym wycofujemy tę funkcję. Planujemy usunąć ją z Chrome 73 w kwietniu 2019 r. Witryny, które korzystają z Shadow DOM w wersji 0, wymagają już teraz polyfilla w przeglądarkach innych niż Chromium. Gdy importowanie HTML zostanie usunięte, strony z polyfillem powinny nadal działać w Chrome.

Zamierzamy wycofać | Chromestatus Tracker | Błąd w Chromium

Wycofanie metody SpeechSynthesis.speak() bez aktywacji użytkownika

Interfejs SpeechSynthesis jest aktywnie wykorzystywany w internecie. Z niepotwierdzonych źródeł wiemy, że inne sposoby autoodtwarzania są zamykane, a użytkownicy uciekają się do korzystania z interfejsu Web Speech API, który nie podlega zasadom autoodtwarzania.

Funkcja speechSynthesis.speak() zwraca teraz błąd, jeśli dokument nie został aktywowany przez użytkownika. Usunięcie powinno nastąpić w Chrome 71, prawdopodobnie pod koniec listopada.

Zamierzamy wycofać | Chromestatus Tracker | Błąd w Chromium

Zasady wycofywania

Aby platforma działała prawidłowo, czasami usuwamy z niej interfejsy API, które nie są już potrzebne. Możemy usunąć interfejs API z wielu powodów, na przykład:

  • Zostały one zastąpione nowszymi interfejsami API.
  • Są one aktualizowane, aby odzwierciedlać zmiany w specyfikacjach, co zapewnia zgodność z innymi przeglądarkami.
  • Są to wczesne eksperymenty, które nigdy nie zostały wdrożone w innych przeglądarkach, więc mogą zwiększać obciążenie zespołu pomocy dla deweloperów.

Niektóre z tych zmian będą miały wpływ na bardzo niewielką liczbę witryn. Aby uniknąć problemów z wyprzedzeniem, staramy się wcześniej informować deweloperów, aby mogli wprowadzić niezbędne zmiany, które pozwolą utrzymać ich witryny w stanie operacyjnym.

Chrome ma obecnie proces wycofywania i usuwania interfejsów API, który obejmuje:

  • Opublikuj ogłoszenie na liście adresowej blink-dev.
  • Ustaw ostrzeżenia i uwzględnij skale czasowe w konsoli Narzędzi deweloperskich w Chrome, gdy wykryto użycie na stronie.
  • Poczekaj, sprawdź, a potem usuń funkcję, gdy jej użycie spadnie.

Listę wszystkich wycofanych funkcji znajdziesz na stronie chromestatus.com. Wystarczy, że użyjesz filtra wycofanych funkcji , a aby wyświetlić wycofane funkcje, zastosuj filtr wycofanych funkcji. W tych postach postaramy się też podsumować niektóre zmiany, uzasadnienia i ścieżki migracji.