Wycofywanie i usuwanie w Chrome 71

Joe Medley
Joe Medley

Chrome 71 zawiera też zmiany w funkcjach cache.addAll()importScripts(). Więcej informacji o tym znajdziesz w artykule Jeffa Posnicka Zmiany w wersji cache.addAll()importScripts() w Chrome 71.

Usuń metodę 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. Ta funkcja została wycofana w wersji Chrome 70.

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

Usuwanie wersji interfejsów API z prefiksem

W Chrome usunięto niestandardowe aliasy 2 powszechnie obsługiwanych interfejsów standardowych.

WebKitAnimationEvent

Interfejs zdarzeń WebKitAnimationEvent został całkowicie zastąpiony interfejsem AnimationEvent, który służy do obsługi zdarzeń związanych z animacjami CSS. Format z preiksem jest obsługiwany tylko w Safari. Firefox i Edge obsługują tylko bezprefiksowe AnimationEvent.

Intend to Remove | Chromestatus Tracker | Chromium Bug

WebKitTransitionEvent

WebKitTransitionEvent został całkowicie zastąpiony przez TransitionEvent, interfejsem zdarzeń używanym do zdarzeń związanych z przechodzeniem do innych elementów CSS (np. transitionstart). Forma z prefiksem jest obsługiwana tylko w Safari. Firefox i Edge obsługują tylko TransitionEvent bez prefiksu.

Intend to Remove | Chromestatus Tracker | Chromium Bug

Usuń URL.createObjectURL z MediaStream

Metoda URL.createObjectURL() została usunięta z interfejsu MediaStream. Ta metoda została wycofana w 2013 roku i zastąpiona przypisaniem strumieni do HTMLMediaElement.srcObject. Stara metoda została usunięta, ponieważ jest mniej bezpieczna i wymaga wywołania funkcji URL.revokeOjbectURL(), aby zakończyć transmisję. Inne przeglądarki albo wycofały (Firefox) albo usunęły (Safari) tę funkcję.

Intend to Remove | Chromestatus Tracker | Chromium Bug

Usuń document.origin

Właściwość document.origin została usunięta. Ta właściwość była implementowana tylko w Chromium i WebKit. Jest to element zbędny, ponieważ self.origin może być używany w kontekście okna i workera oraz ma szersze wsparcie.

Intend to Remove | Chromestatus Tracker | Chromium Bug

Elementy wycofane

W tej wersji Chrome nie wycofano żadnych funkcji. Stan platformy Chrome zawiera listę wycofanych funkcji z poprzednich wersji Chrome.

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.