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

Джо Медли
Joe Medley

Запретить синхронный XMLHTTPRequest() при удалении страницы

Chrome теперь запрещает синхронные вызовы XMLHTTPRequest() во время закрытия страницы, когда пользователь переходит со страницы или закрывает ее. Это относится к beforeunload , unload , pagehide visibilitychange .

Чтобы гарантировать отправку данных на сервер при выгрузке страницы, мы рекомендуем sendBeacon() или Fetch keep-alive . На данный момент корпоративные пользователи могут использовать флаг политики AllowSyncXHRInPageDismissal , а разработчики могут использовать флаг исходной пробной версииallow allow-sync-xhr-in-page-dismissal чтобы разрешить синхронные запросы XHR во время выгрузки страницы. Это временная мера отказа, и мы планируем удалить этот флаг в Chrome 88.

Подробности об этом и альтернативах см. в разделе Запрет синхронного XMLHTTPRequest() во время закрытия страницы .

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Поддержка FTP устарела

Текущая реализация FTP в Chrome не поддерживает ни зашифрованные соединения (FTPS), ни прокси. Использование FTP в браузере настолько мало, что больше нецелесообразно инвестировать в улучшение существующего FTP-клиента. Кроме того, на всех затронутых платформах доступны более функциональные FTP-клиенты.

В Chrome 72 удалена поддержка получения подресурсов документов по FTP и рендеринга FTP-ресурсов верхнего уровня. В настоящее время переход по URL-адресам FTP приводит к отображению списка каталогов или загрузке в зависимости от типа ресурса. Ошибка в Google Chrome 74 и более поздних версиях привела к прекращению поддержки доступа к URL-адресам FTP через HTTP-прокси. Поддержка прокси-сервера для FTP была полностью удалена в Google Chrome 76.

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

Сроки прекращения поддержки ориентировочно установлены следующим образом:

Chrome 80 (стабильная версия в феврале 2020 г.)

FTP отключен по умолчанию для некорпоративных клиентов , но его можно включить с помощью флагов командной строки --enable-ftp или --enable-features=FtpProtocol . Альтернативно его можно включить с помощью параметра #enable-ftp в chrome://flags.

Chrome 81 (стабильная версия в марте 2020 г.)

FTP отключен по умолчанию для всех установок Chrome , но его можно включить с помощью флагов командной строки --enable-ftp или --enable-features=FtpProtocol .

Chrome 82 (стабильная версия в апреле 2020 г.)

Поддержка FTP будет полностью удалена.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Запретить появление всплывающих окон во время выгрузки страницы

Страницы больше не могут использовать window.open() для открытия новой страницы во время выгрузки. Блокировщик всплывающих окон Chrome уже запретил это, но теперь это запрещено независимо от того, включен блокировщик всплывающих окон или нет.

Предприятия могут использовать флаг политики AllowPopupsDuringPageUnload , чтобы разрешить появление всплывающих окон во время выгрузки. Chrome планирует удалить этот флаг в Chrome 82.

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

Сериализация и передача ImageBitmap без исходного кода удалены.

Ошибки теперь будут возникать, когда сценарий попытается сериализовать или передать ImageBitmap, не являющийся исходным. ImageBitmap без исходного происхождения — это тот, который содержит данные из изображений из разных источников, которые не проверяются логикой CORS.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Для обработки протокола теперь требуется безопасный контекст.

Методы registerProtocolHandler() и unregisterProtocolHandler() теперь требуют безопасного контекста. Эти методы способны переконфигурировать состояния клиента таким образом, чтобы обеспечить возможность передачи потенциально конфиденциальных данных по сети.

Метод registerProtocolHandler() предоставляет веб-странице механизм регистрации для обработки протокола после согласия пользователя. Например, веб-приложение электронной почты может зарегистрироваться для обработки схемы mailto: Соответствующий метод unregisterProtocolHandler() позволяет сайту отказаться от регистрации для обработки протокола.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Веб-компоненты v0 удалены.

Веб-компоненты v0 теперь удалены из Chrome. API-интерфейсы веб-компонентов v1 — это стандарт веб-платформы, который появился в Chrome, Safari, Firefox и (скоро) Edge. Инструкции по обновлению см. в статье Обновление веб-компонентов: больше времени для обновления до API версии 1 . Следующие функции были удалены. Это прекращение поддержки распространяется на элементы, перечисленные ниже.

Пользовательские элементы

Намерение удалить | Статус платформы Chrome | Ошибка хрома

HTML-импорт

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Тень ДОМ

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Удалить кнопку -webkit-appearance:button для произвольных элементов

Изменяет -webkit-appearance:button для работы только с кнопками <button> и <input> . Если button указана для неподдерживаемого элемента, элемент имеет внешний вид по умолчанию. Все остальные ключевые слова -webkit-appearance уже имеют такое ограничение.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Политика прекращения поддержки

Чтобы поддерживать работоспособность платформы, мы иногда удаляем из веб-платформы API, которые отработали свой срок. Может быть много причин, по которым мы должны удалить API, например:

  • Они заменены более новыми API.
  • Они обновляются с учетом изменений в спецификациях, чтобы обеспечить согласованность и согласованность с другими браузерами.
  • Это ранние эксперименты, которые так и не были реализованы в других браузерах и, таким образом, могут увеличить нагрузку на веб-разработчиков.

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

В настоящее время в Chrome существует процедура прекращения поддержки и удаления API , по сути:

  • Объявите об этом в списке рассылки Blink-dev .
  • Устанавливайте предупреждения и указывайте временные рамки в консоли Chrome DevTools, когда на странице обнаруживается использование.
  • Подождите, отслеживайте, а затем удаляйте эту функцию по мере снижения ее использования.

Вы можете найти список всех устаревших функций на сайте chromestatus.com, используя устаревший фильтр , а также удаленные функции, применив удаленный фильтр . В этих постах мы также попытаемся обобщить некоторые изменения, рассуждения и пути миграции.

,

Джо Медли
Joe Medley

Запретить синхронный XMLHTTPRequest() при удалении страницы

Chrome теперь запрещает синхронные вызовы XMLHTTPRequest() во время закрытия страницы, когда пользователь переходит со страницы или закрывает ее. Это относится к beforeunload , unload , pagehide visibilitychange .

Чтобы гарантировать отправку данных на сервер при выгрузке страницы, мы рекомендуем sendBeacon() или Fetch keep-alive . На данный момент корпоративные пользователи могут использовать флаг политики AllowSyncXHRInPageDismissal , а разработчики могут использовать флаг исходной пробной версииallow allow-sync-xhr-in-page-dismissal чтобы разрешить синхронные запросы XHR во время выгрузки страницы. Это временная мера отказа, и мы планируем удалить этот флаг в Chrome 88.

Подробности об этом и альтернативах см. в разделе Запрет синхронного XMLHTTPRequest() во время закрытия страницы .

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Поддержка FTP устарела

Текущая реализация FTP в Chrome не поддерживает ни зашифрованные соединения (FTPS), ни прокси. Использование FTP в браузере настолько мало, что больше нецелесообразно инвестировать в улучшение существующего FTP-клиента. Кроме того, на всех затронутых платформах доступны более функциональные FTP-клиенты.

В Chrome 72 удалена поддержка получения подресурсов документов по FTP и рендеринга FTP-ресурсов верхнего уровня. В настоящее время переход по URL-адресам FTP приводит к отображению списка каталогов или загрузке в зависимости от типа ресурса. Ошибка в Google Chrome 74 и более поздних версиях привела к прекращению поддержки доступа к URL-адресам FTP через HTTP-прокси. Поддержка прокси-сервера для FTP была полностью удалена в Google Chrome 76.

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

Сроки прекращения поддержки ориентировочно установлены следующим образом:

Chrome 80 (стабильная версия в феврале 2020 г.)

FTP отключен по умолчанию для некорпоративных клиентов , но его можно включить с помощью флагов командной строки --enable-ftp или --enable-features=FtpProtocol . Альтернативно его можно включить с помощью параметра #enable-ftp в chrome://flags.

Chrome 81 (стабильная версия в марте 2020 г.)

FTP отключен по умолчанию для всех установок Chrome , но его можно включить с помощью флагов командной строки --enable-ftp или --enable-features=FtpProtocol .

Chrome 82 (стабильная версия в апреле 2020 г.)

Поддержка FTP будет полностью удалена.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Запретить появление всплывающих окон во время выгрузки страницы

Страницы больше не могут использовать window.open() для открытия новой страницы во время выгрузки. Блокировщик всплывающих окон Chrome уже запретил это, но теперь это запрещено независимо от того, включен блокировщик всплывающих окон или нет.

Предприятия могут использовать флаг политики AllowPopupsDuringPageUnload , чтобы разрешить появление всплывающих окон во время выгрузки. Chrome планирует удалить этот флаг в Chrome 82.

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

Сериализация и передача ImageBitmap без исходного кода удалены.

Ошибки теперь будут возникать, когда сценарий попытается сериализовать или передать ImageBitmap, не являющийся исходным. ImageBitmap без исходного происхождения — это тот, который содержит данные из изображений из разных источников, которые не проверяются логикой CORS.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Для обработки протокола теперь требуется безопасный контекст.

Методы registerProtocolHandler() и unregisterProtocolHandler() теперь требуют безопасного контекста. Эти методы способны переконфигурировать состояния клиента таким образом, чтобы обеспечить возможность передачи потенциально конфиденциальных данных по сети.

Метод registerProtocolHandler() предоставляет веб-странице механизм регистрации для обработки протокола после согласия пользователя. Например, веб-приложение электронной почты может зарегистрироваться для обработки схемы mailto: Соответствующий метод unregisterProtocolHandler() позволяет сайту отказаться от регистрации для обработки протокола.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Веб-компоненты v0 удалены.

Веб-компоненты v0 теперь удалены из Chrome. API-интерфейсы веб-компонентов v1 — это стандарт веб-платформы, который появился в Chrome, Safari, Firefox и (скоро) Edge. Инструкции по обновлению см. в статье Обновление веб-компонентов: больше времени для обновления до API версии 1 . Следующие функции были удалены. Это прекращение поддержки распространяется на элементы, перечисленные ниже.

Пользовательские элементы

Намерение удалить | Статус платформы Chrome | Ошибка хрома

HTML-импорт

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Тень ДОМ

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Удалить кнопку -webkit-appearance:button для произвольных элементов

Изменяет -webkit-appearance:button для работы только с кнопками <button> и <input> . Если button указана для неподдерживаемого элемента, элемент имеет внешний вид по умолчанию. Все остальные ключевые слова -webkit-appearance уже имеют такое ограничение.

Намерение удалить | Статус платформы Chrome | Ошибка хрома

Политика прекращения поддержки

Чтобы поддерживать работоспособность платформы, мы иногда удаляем из веб-платформы API, которые отработали свой срок. Может быть много причин, по которым мы должны удалить API, например:

  • Они заменены более новыми API.
  • Они обновляются с учетом изменений в спецификациях, чтобы обеспечить согласованность и согласованность с другими браузерами.
  • Это ранние эксперименты, которые так и не были реализованы в других браузерах и, таким образом, могут увеличить нагрузку на веб-разработчиков.

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

В настоящее время в Chrome существует процедура прекращения поддержки и удаления API , по сути:

  • Объявите об этом в списке рассылки Blink-dev .
  • Устанавливайте предупреждения и указывайте временные рамки в консоли Chrome DevTools, когда на странице обнаруживается использование.
  • Подождите, отслеживайте, а затем удаляйте эту функцию по мере снижения ее использования.

Вы можете найти список всех устаревших функций на сайте chromestatus.com, используя устаревший фильтр , а также удаленные функции, применив удаленный фильтр . В этих постах мы также попытаемся обобщить некоторые изменения, рассуждения и пути миграции.