Устаревшие и удаленные API в Chrome 51

Джо Медли
Joe Medley

Практически в каждой версии Chrome мы видим значительное количество обновлений и улучшений продукта, его производительности, а также возможностей веб-платформы.

В Chrome 51 (апрель 2016 г.) в Chrome есть ряд изменений.

Удалить поддержку SPDY/3.1.

TL;DR : Поддержка HTTP/2 настолько широко распространена, что от поддержки SPDY/3.1 можно отказаться.

Намерение удалить | Трекер Chromestatus | Ошибка хрома

SPDY/3.1 был экспериментальным протоколом прикладного уровня, который обеспечивал повышение производительности по сравнению с HTTP/1.1. Это было сделано, например, с помощью мультиплексирования соединений и передачи данных через сервер. Многие из его функций были включены в HTTP/2, который был опубликован в виде RFC в мае прошлого года. Поскольку HTTP/2 поддерживается основными серверами и клиентами, пришло время удалить SPDY/3.1 из Chrome.

Удалить согласование следующего протокола TLS (NPN)

TL;DR : В рамках прекращения поддержки SPDY NPN удаляется, ранее его заменили на ALPN.

Намерение удалить | Трекер Chromestatus | Ошибка хрома

NPN было расширением TLS, используемым для согласования SPDY (и, в переходном периоде, HTTP/2). В процессе стандартизации NPN был заменен на ALPN, опубликованный как RFC 7301 в июле 2014 года. Мы намерены удалить NPN одновременно с удалением SPDY.

Удаление пользовательских сообщений в диалоговых окнах onbeforeunload

TL;DR: свойство onbeforeunload окна больше не поддерживает пользовательскую строку.

Намерение удалить | Трекер Chromestatus | Ошибка хрома

Свойству окна onbeforeunload можно задать функцию, которая возвращает строку, которая отображается пользователю в диалоговом окне для подтверждения того, что пользователь хочет уйти. Это было сделано для того, чтобы пользователи не теряли данные во время навигации. К сожалению, его часто используют для обмана пользователей.

Начиная с Chrome 51, пользовательская строка больше не будет отображаться пользователю. Chrome по-прежнему будет отображать диалоговое окно, чтобы предотвратить потерю данных пользователями, но его содержимое будет устанавливаться браузером, а не веб-страницей.

Благодаря этому изменению Chrome будет соответствовать Safari 9.1 и более поздних версий, а также Firefox 4 и более поздних версий.

Устаревший атрибут результатов для <input type=search>

TL;DR: Атрибут results объявлен устаревшим, поскольку он не является частью какого-либо стандарта и непоследовательно реализуется в разных браузерах.

Намерение удалить | Трекер Chromestatus | Ошибка хрома

Значение results реализовано только в webkit и ведет себя крайне непоследовательно для тех, которые это делают. Например, Chrome добавляет значок лупы в поле ввода, а на рабочем столе Safari он контролирует, сколько отправленных запросов отображается во всплывающем окне, открывающемся при нажатии значка лупы. Поскольку это не является частью какого-либо стандарта, оно устарело.

Если вам все еще нужно включить значок поиска в поле ввода, вам придется добавить к элементу собственный стиль. Вы можете сделать это, включив фоновое изображение и указав левое дополнение в поле ввода.

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

Удаление ожидается в Chrome 53.