about:blank as NewTabPage : Самая простая новая вкладка
Опубликовано: Бармалей · 26.01.2017 · 00:01 ••• Обновление: 06.06.2021 · 20:49 0

about:blank as NewTabPage – самое маленькое расширение для замены новой вкладки! Функционал понятен из названия: заменяет штатную страницу новой вкладки браузера на пустую страницу (либо на заданную пользователем). Работающий образец минимального расширения без громоздких библиотек, скриптов, стилистики, виджетов и прочих излишеств. :)

Предоставляется по лицензии GPL v.3, бесплатно для частного некоммерческого использования.


В этой статье:


Общее назначение и краткая история создания

about:blank as NewTabPage – расширение для браузеров семейства Chromium, заменяющее стандартную новую вкладку браузера на пустую страницу.

Основное назначение – обеспечить минимальный размер "заменителя" новой вкладки. Главная цель – простота и компактность решения и работоспособность на любых версиях браузеров.

Расширение написано "просто из принципа" и представляет собой самое простое и гарантированно работающее решение для пустой новой вкладки.

В текущих версиях возможности аддона немного расширены, по желанию можно задать вместо пустой страницы любой произвольный URL (в том числе – ссылку на локальный файл). Однако, и при этом размер исходного кода остаётся минимальным по сравнению с известными автору аналогами и с учётом дополнительных функций.

При выпуске первой версии в январе 2017 года расширение было "брэндировано" как "about:blank as NewTabPage". На текущий момент аддон распространяется под этой "торговой маркой".

Следует особо отметить, что в отличие от многих других современных аддонов, в about:blank as NewTabPage нет (и никогда не будет) никакой "допустимой" или скрытой рекламы, это расширение не является предметом монетизации.

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


Основные возможности и способ применения

about:blank as NewTabPage заменяет стандартную новую вкладку браузера на пустую страницу, обеспечивая максимально возможную скорость её открытия.

Аддон применим для любых браузеров и не требует от пользователя никаких дополнительных действий или настроек. После установки, при первом вызове новой вкладки, нужно просто подтвердить замену штатной страницы новой вкладки.

Замена NTP на произвольный URL вместо пустой страницы

Начиная с версии 2021.6.2 добавлена "скрытая" возможность замены новой вкладки на произвольно заданный URL. В этой версии такая замена делается только путём ручной правки исходного кода и может быть выполнена опытными пользователями самостоятельно.

Начиная с версии 2021.6.3 добавлена возможность ручной установки произвольно заданного URL (кроме адресов служебных страниц браузера) для автоматического перехода при открытии страницы новой вкладки. В этой версии такая возможность доступна однократно.

Если URL редиректа отсутствует (не задан пользователем), открывается пустая страница. URL переадресации задаётся в диалоге, который вызывается двойным щелчком по изначально пустой странице новой вкладки:

В дальнейшем, при вызове новой вкладки, редирект на заданный URL производится автоматически.

Для сброса (переустановки) запомненного URL редиректа следует удалить* аддон, затем снова установить его и повторить процедуру ввода желаемого адреса редиректа.

* Это сделано в целях упрощения и минимизации кода и с учётом того, что данное действие выполняется пользователем достаточно редко. Впрочем, можно обойтись и без удаления… :)

Начиная с версии 2021.6.4 в качестве произвольного URL можно задавать и ссылки на любые локальные файлы. Это открывает достаточно широкие возможности по созданию своей собственной страницы новой вкладки с учётом ваших личных предпочтений. Функциональность таких "персональных" новых вкладок ограничивается только вашей фантазией и соответствующими навыками.

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


Технические детали разработки

Ниже приведены технические особенности расширения и некоторые подробности по исходному коду.

Исходный код, интерфейс и API

about:blank as NewTabPage не использует для работы никакие сторонние библиотеки (привет любителям JQuery)).

Интерфейса, как такового, у расширения нет, только описание в блоке аддона на странице chrome://extensions.

Более того, в этом аддоне в принципе отсутствует какой-либо код, кроме файла манифеста. …и иконки, для "красоты"…)

Для замены стандартной NTP задействуется ключ манифеста "chrome_url_overrides":{"newtab":"empty.htm"}.

В простейшем случае работоспособный файл манифеста сводится к одной строке (длиной всего 84 байта)):

{"name":"A","version":"0","manifest_version":2,"chrome_url_overrides":{"newtab":""}}

Однако, такая "конструкция" может не работать на некоторых старых версиях браузеров (до 49), поэтому для совместимости с такими версиями в комплект аддона добавлен файл-заглушка нулевого размера.

Итоговый размер распакованного кода составляет в базовой версии всего 723 байта, включая иконку (430 байт).

В общем, всё максимально компактно, в отличие от "новомодных" NTP со всякими виджетами и свистелками.)

Версии с заменой NTP на произвольный URL

В текущих версиях есть некоторый отход от концепции "самого маленького расширения", что сделано исключительно с целью обхода запрета на установку произвольного адреса для новой вкладки непосредственно в манифесте аддона. Тем не менее, автор в целом продолжает придерживаться "максимального минимализма" при их разработке. :)

В версии 2021.6.2 в пустой файл-заглушку добавлен простейший код HTML-редиректора:

<meta http-equiv="refresh" content="0;url='about:blank'">

Выделенный URL можно вручную изменить на любой другой (кроме адресов служебных страниц). При этом следует устанавливать аддон в режиме разработчика (или перепаковать самостоятельно).

В версии 2021.6.3 применён более сложный метод переадресации: взамен HTML-редиректора добавлен JS-редирект, автоматически меняющий URL страницы на заданный пользователем и сохранённый в локальном хранилище аддона.

Как сказано выше, в этой версии процедура установки конечного URL переадресации в общем случае выполняется однократно, адрес может быть изменён только* после удаления и повторной установки аддона.

* Можно применить и "микро-хак", не требующий переустановки аддона: для этого следует вызвать новую вкладку и сразу же зажать клавишу ESC (если успеете)), ДО начала загрузки (!) URL редиректа. Затем нужно открыть консоль (F12) и на вкладке ресурсов расширения найти и удалить (или исправить вручную) ключ локального хранилища "NTP". После этого достаточно перезагрузить страницу и можно задавать редирект снова, как описано выше (либо он будет автоматически производиться по исправленному вами адресу).
Да, всё это немного мудрёно, но зато код минимального размера и работает где угодно… :)

В версии 2021.6.4 для выполнения JS-редиректа на произвольные локальные файлы в манифест добавлено дополнительное разрешение ["<all_urls>"].

На базе версий с JS-редиректором разработана специальная модификация для замены штатной страницы новой вкладки в браузерах 360 Extreme Explorer (360CSE). В отличие от расширения, в этом моде можно устанавливать в качестве URL редиректа служебные страницы браузера (chrome://*), но нельзя задать ссылку на локальные файлы (связано с ограничениями браузера). В остальном модификатор работает полностью аналогично и может быть использован любителями минимализма и на этом браузере.

Дополнительные примечания по коду

Практических ограничений по версии браузера не имеется, используемые API работают в версиях 17+.

Язык описания – только русский (локализация жёсткая, зашита в коде), другие* локализации отсутствуют. Это связано со значительным упрощением кода, а также с тем, что при создании расширения автор в первую очередь ориентируется на русскоязычных пользователей.

* Впрочем, если "дело пойдёт", прикрутить ещё и "басурманский" не является особой проблемой.
В текущих версиях "процесс пошёл" в виде также жёстко зашитых русско-английских подсказок… :)


Загрузка и установка

Расширение не имеет практических ограничений по версии браузера, может использоваться на любых хром-браузерах версий 17+. Однако, с учётом различных "новшеств", вводимых производителями браузеров, желательно ознакомиться с документацией на конкретный билд, который планируется установить – могут быть, так сказать, "некоторые нюансики" и их необходимо учитывать.)

Можно загрузить любую из версий about:blank as NewTabPage на следующих ресурсах:

При возникновении сложностей с установкой читаем этот совет.

В режиме "инкогнито" расширение не может работать из-за ограничений API. [читать матчасть]
Соответственно, для него не имеет никакого смысла на странице chrome://extensions включать опцию:

Для работы с локальными файлами в блоке аддона на странице chrome://extensions включаем опцию:



Описание и инструкции Бармалей

Смотрим также:

Бармалей 26.01.2017 06.06.2021 369 0.0

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский, Английский
Версия браузера:17+
Протестировано в:SRWare Iron 17/31/49 + Chromium 53/87
Технологии и API:Не требуются, только файл манифеста + HTML/JS-редиректоры (в зависимости от версии)

Поделиться

Всего комментариев: 0
close