Wycofania i usuwania interfejsów API w Chrome 51

Joe Medley
Joe Medley

W prawie każdej wersji Chrome wprowadzamy wiele aktualizacji i ulepszeń dotyczących produktu, jego wydajności, a także możliwości platformy internetowej.

W Chrome 51 (kwiecień 2016 r.) wprowadzono kilka zmian.

Usuwanie obsługi SPDY/3.1

TL;DR: obsługa HTTP/2 jest na tyle powszechna, że można zrezygnować z obsługi SPDY/3.1.

Intend to Remove | Chromestatus Tracker | Chromium Bug

SPDY/3.1 był eksperymentalnym protokołem na poziomie aplikacji, który zapewniał poprawę wydajności w porównaniu z HTTP/1.1. Wykorzystuje ona m.in. multipleksowanie połączeń i push serwera. Wiele jego funkcji zostało włączonych do HTTP/2, który został opublikowany jako specyfikacja RFC w maju ubiegłego roku. Ponieważ HTTP/2 jest obsługiwany przez główne serwery i klientów, nadszedł czas, aby usunąć SPDY/3.1 z Chrome.

Usuń negocjacje następnego protokołu TLS (NPN)

TL;DR: w ramach wycofywania SPDY usunięto NPN, który został wcześniej zastąpiony przez ALPN.

Intend to Remove | Chromestatus Tracker | Chromium Bug

NPN to rozszerzenie TLS używane do negocjowania SPDY (i w okresie przejściowym HTTP/2). W trakcie procesu standaryzacji NPN został zastąpiony przez ALPN, opublikowany w lipcu 2014 roku jako RFC 7301. Chcemy usunąć NPN w tym samym czasie, w którym usuniemy SPDY.

Usuwanie niestandardowych komunikatów w oknach onbeforeunload

TL;DR: właściwość onbeforeunload okna nie obsługuje już ciągu niestandardowego.

Intend to Remove | Chromestatus Tracker | Chromium Bug

Właściwość onbeforeunload okna może być ustawiona na funkcję, która zwraca ciąg znaków wyświetlany użytkownikowi w oknie dialogowym, aby potwierdzić, że chce on opuścić okno. Celem było zapobieganie utracie danych podczas nawigacji. Niestety często jest ona wykorzystywana do oszukiwania użytkowników.

Od wersji 51 Chrome niestandardowy ciąg znaków nie będzie już wyświetlany użytkownikowi. Chrome nadal będzie wyświetlać okno, aby zapobiec utracie danych, ale jego treść będzie ustawiana przez przeglądarkę, a nie przez stronę internetową.

Dzięki tej zmianie Chrome będzie działać tak samo jak Safari w wersji 9.1 lub nowszej oraz Firefox w wersji 4 lub nowszej.

Atrybuty wyników, które są przestarzałe w przypadku elementu <input type=search>

TL;DR: atrybut results jest wycofywany, ponieważ nie jest częścią żadnego standardu i jest niespójnie implementowany w różnych przeglądarkach.

Intend to Remove | Chromestatus Tracker | Chromium Bug

Wartość results jest implementowana tylko w webkit i działa bardzo niekonsekwentnie w przypadku przeglądarek, które ją obsługują. Na przykład w Chrome dodawana jest ikona lupy do pola wprowadzania, a w Safari na komputerze ta wartość określa liczbę przesłanych zapytań wyświetlanych w wyskakującym okienku, które pojawia się po kliknięciu ikony lupy. Ponieważ nie jest to część żadnego standardu, wycofujemy tę funkcję.

Jeśli nadal chcesz umieścić ikonę wyszukiwania w polu tekstowym, musisz dodać do tego elementu niestandardowy styl. Aby to zrobić, dodaj obraz tła i określ lewy margines pola tekstowego.

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
     padding-left:30px;
    }

Usunięcie ma nastąpić w Chrome 53.