Браузер 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. Затем нужно перейти к https://localhost:9222 или https://IP:9222, чтобы открыть интерфейс Deveoper Tools. Для запуска также можно использовать инструмент Selenium.
Компания 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, позволяющую включать или отключать плагины, а также активировать режим «запускать всегда». Таким образом можно отключить плагины, которые невозможно сделать неактивными через опцию настроек. В последующих версиях браузера плагины по умолчанию будут активными. Избавиться от них можно лишь физически удалив папку с плагином с жесткого диска.