Chrome 71 zawiera też zmiany w funkcjach cache.addAll() i importScripts(). Więcej informacji o tym znajdziesz w artykule Jeffa Posnicka Zmiany w wersji cache.addAll() i 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.