Браузер Chrome научился работать на устройствах без экрана

Софт Интернет Интернет-ПО
мобильная версия
, Текст: Валерия Шмырова

В Chrome 59 появится возможность запускать браузер на устройствах без экрана. Разработчики могут воспользоваться ею уже сейчас. Раньше для запуска Chrome на серверной Linux приходилось обманывать его с помощью эмулятора монитора.


Режим headless

Начиная с 59 версии в браузер Chrome будет добавлена возможность запуска на устройствах, к которым не подключен монитор – например, на серверах. Режим «без экрана», который уже доступен разработчикам, называется headless.

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

Запускать Chrome на серверах можно было и раньше, но для этого приходилось пользоваться эмулятором дисплея типа Xvfb. Xvfb – это виртуальный сервер с виртуальным экраном, который можно развернуть на Linux. Он позволяет обмануть браузер, убедив его в том, что к ОС подключен монитор. Теперь такие уловки не требуются. Помимо Linux режим «без экрана» в будущем будет адаптирован для Windows и Mac OS.

Как запустить режим

Запустить режим «без экрана» можно, использовав опцию --headless следующим образом: $ chrome --headless --remote-debugging-port=9222 https://chromium.org.

Можно добавить опцию --disable gpu, чтобы избежать сообщения об ошибке из-за отсутствующей библиотеки Mesa. Затем нужно перейти к http://localhost:9222 или http://IP:9222, чтобы открыть интерфейс Deveoper Tools. Для запуска также можно использовать инструмент Selenium.

Новой версии браузера Chrome не понадобится монитор для работы

Компания Mozilla тоже упоминала, что работает над похожим режимом для браузера Firefox. Предположительно, его уже можно запустить нынешних в ночных сборках следующим образом: MOZ_HEADLESS=1 /path/firefox.

Грядущие изменения в Chrome

В браузере Chrome готовятся и другие нововведения. В марте 2017 г. разработчики Chrome заявили, что намерены запретить всплывающие окна-уведомления на JavaScript, поскольку они создают «слишком много возможностей для злоупотреблений». В блоге для разработчиков Google пояснила, что первые версии JavaScript, представленные в 1995 г., имели три функции взаимодействия с пользователем – alert(), confirm() и prompt(). Со временем их синхронные API стали конфликтовать с современными версиями браузеров.

Диалоговые окна являются модальными – движок JavaScript останавливается до получения отклика пользователя, что при злонамеренном использовании ведет к блокировке всего браузера. Для борьбы с ними Google планирует в ближайшей перспективе изменить обработку JavaScript, сделав функции alert(), confirm() и prompt() немодальными. Это уже реализовано в браузере Safari, где всплывающее JavaScript-окно исчезает при переходе пользователя на другую вкладку.

Неотключаемая защита от пиратства

В январе 2017 г. разработчики Google лишили пользователей Chrome возможности отключить DRM-защиту, которая не дает смотреть или копировать аудио и видео, защищенное авторскими правами. Изменения были внесены в ныне актуальную версию 57.

В Chrome 56 или более ранних версиях браузера пользователи могут загрузить страницу chrome://plugins, позволяющую включать или отключать плагины, а также активировать режим «запускать всегда». Таким образом можно отключить плагины, которые невозможно сделать неактивными через опцию настроек. В последующих версиях браузера плагины по умолчанию будут активными. Избавиться от них можно лишь физически удалив папку с плагином с жесткого диска.