Wycofania i usuwania interfejsów API w Chrome 51

Joe Medley
Joe Medley

W prawie każdej wersji Chrome wprowadzamy znaczną liczbę aktualizacji i ulepszeń dotyczących produktu, jego wydajności oraz 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 z jego funkcji zostało dodanych do protokołu HTTP/2, który w maju ubiegłego roku opublikowano jako RFC. HTTP/2 jest obsługiwane przez główne serwery i klienty, więc czas 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). Podczas procesu standaryzacji wartość NPN została zastąpiona przez ALPN opublikowaną w lipcu 2014 r. 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ę zwracającą ciąg znaków, który jest wyświetlany użytkownikowi w oknie dialogowym w celu potwierdzenia, że chce on zamknąć okno. Celem było zapobieganie utracie danych podczas nawigacji. Niestety często jest ona wykorzystywana do oszukiwania użytkowników.

Od wersji 51 Chrome tekst niestandardowy 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 zaimplementowana tylko w webkit i zachowuje się bardzo niespójnie w odniesieniu do tych, które ją używają. Na przykład Chrome dodaje ikonę lupy do pola do wprowadzania danych, a w przeglądarce Safari na komputery to liczba przesłanych zapytań, które mają być wyświetlane w wyskakującym okienku wyświetlanym 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. W tym celu dodaj obraz tła i określ dopełnienie z lewej strony w polu do wprowadzania danych.

    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.