Как сделать расширение для Google Chrome и немного улучшить UX на главной странице почты — Разработка на vc.ru

Как сделать расширение для Google Chrome и немного улучшить UX на главной странице почты — Разработка на vc.ru

Excerpt

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


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

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

Больше года назад я заметил, что ссылки «Входящие» и «Написать письмо» на главной странице почты, которой я часто пользуюсь, стали открываться в новом окне. По ответу эксперта стало понятно, что придется привыкать к этому спорному нововведению.

Я привыкнуть не смог: каждый раз возвращаться и закрывать вкладку браузера неудобно. Так появилась идея простого расширения для Chrome, которое вернет прежнее поведение при открытии Входящих и написании нового письма.

SimilarWeb показывает 1,141 млрд посещений главной страницы за август. Если хотя бы 10% из них приходится на десктопный браузер и целевое действие, то это 141 млн открытых вкладок в месяц. На возврат и закрытие вкладки уходит не меньше секунды. Получается, мы собираемся сэкономить 31,5 тысячи человеко-часов в месяц.

Приготовим минимальный стартовый набор.

1. Создайте папку проекта. Назовите ее именем вашего расширения.

2. Создайте javascript-файл, в котором будет реализована логика приложения. Я назвал его app.js.

3. Добавьте в созданный файл команду для тестирования: вывод строки в консоль или в диалоговое окно браузера.

alert('Hello from my extension!');

4. Создайте manifest.json – служебный файл, который должен быть в каждом расширении.

{ "manifest_version": 2, "name": "Mail link healer", "version": "1.0", "description": "Ссылка «Входящие» и «Написать письмо» снова открываются в той же вкладке!", "icons": { "128": "128.png" }, "content_scripts": [ { "matches": [ "<all_urls>" ], "js": [ "app.js" ] } ] }

Обязательные параметры, должны быть в каждом manifest.json:

Необязательные параметры:

5. Подготовьте иконку в формате png размером 128х128 пикселей и положите ее в папку проекта. Эта версия отображается при установке и в магазине расширений. Рекомендуют также добавить иконку размером 48х48 пикселей – она отображается на странице управления расширениями. И можно добавить версию 16х16 пикселей, которая будет использоваться как фавикон.

К этому моменту в нашем проекте есть иконка расширения, manifest.json со служебной информацией и app.js, в котором позже появится код приложения.

. ├── 128.png ├── app.js ├── manifest.json

Примечание: расширение может состоять из нескольких JS-файлов, HTML-верстки и CSS-стилей.

Теперь можно проверить, что мы выполнили минимальные требования к расширению.

1. Войдите в свой аккаунт в браузере Chrome.

2. Перейдете на страницу chrome://extensions.

3. В правом верхнем углу включите Режим разработчика.

4. Нажмите Загрузить распакованное расширение и выберите папку проекта. В результате вы увидите похожую картинку:

5. В новой вкладке браузера откройте любую веб-страницу. Отлично, работает!

Теперь мы готовы добавить полезное действие.

Проверим код ссылок «Входящие» и «Написать письмо» на странице почты с помощью инструментов разработчика браузера. Нажимаем правую кнопку на ссылке и выбираем Посмотреть код. Видно, что ссылки открываются в новой вкладке из-за атрибута target=”_blank”.

Получается, с помощью javascript нам нужно выбрать две ссылки и удалить этот атрибут.

1. В app.js сохраните ссылки в переменные:

const inboxLink = document.getElementById('mailbox:unreadEmails:link'); const composeLink = document.getElementById('mailbox:write_letter');

Здесь мы выбираем элементы по их идентификатору (id).

2. Если такие ссылки найдены, удалите у них атрибут target.

if (inboxLink && composeLink)

Похоже, этого кода достаточно для решения проблемы.

Заодно давайте пропишем в manifest.json правило, по которому расширение будет запускать наш скрипт только на целевой странице. Для этого в параметре content_scripts в ключе matches пропишем конкретный URL:

"content_scripts": [ { "matches": [ "https://mail.ru/\*" ], "js": [ "app.js" ] } ]

Звездочку в конце URL я поставил, чтобы скрипт срабатывал на всех страницах, начинающихся с _https://mail.ru/_.

Кстати, после обновления расширения стоит обновить версию и в manifest.json:

"version": "1.1",

После внесения правок важно обновить расширение в браузере. Для этого нажмите на стрелку на странице управления расширениями (chrome://extensions/).

Готово! Проверим расширение в боевых условиях.

Открываем целевую страницу и переходим по ссылкам «Входящие» и «Написать письмо». Победа! Ссылки открываются в той же вкладке, как в старые добрые времена.

Этот шаг необязательный. Во-первых, возможно, вы не хотите делать доступным для всех свое расширение. А во-вторых, возможно, не захотите платить за это $5. Такой регистрационный сбор должен оплатить разработчик Chrome Web Store.

  1. Создайте zip-архив с файлами проекта.
  2. Зарегистрируйтесь как разработчик Chrome Web Store. Для этого войдите в консоль разработчика под своим аккаунтом Chrome, примите условия соглашения и Политику конфиденциальности.
  3. Оплатите регистрационный сбор $5. Оплатить можно картой, как в обычных интернет-магазинах.
  4. На дашборде разработчика в разделе Аккаунт добавьте адрес электронной почты. Без этого не получится отправить расширение на проверку.
  5. В личном кабинет разработчика нажмите Добавить продукт и загрузите zip-архив проекта.
  6. В разделе Описание продукта заполните описание расширения, выберите категорию и язык. Добавьте хотя бы один скриншот расширения.
  7. В разделе Конфиденциальность коротко опишите единственное назначение расширения, обоснование для использования разрешения и отметьте, что не используете разрешение «удаленный код».
  8. В разделе Цель и распространение задайте, кому будет доступно расширение.
  9. Нажмите Отправить на проверку в правом верхнем углу.

Это всё. Остается ждать результат проверки, которая может занять несколько недель.

Я отправил расширение на проверку параллельно с публикацией статьи. Как только получу ответ, добавлю комментарий со ссылкой на опубликованное расширение.

Надеюсь, эта инструкция была вам полезной. Буду рад обсудить детали в комментариях.

4

«ВКонтакте» и «Авито» попали в список контрафакции и пиратства торгпредставительства США за 2024 год

«Вконтакте» — за неудаление «пиратского» видео, «Авито» — за контрафакт на площадке.

[

Странно, что до рутуб не внесли, но, возможно, просто не смогли разобраться с интерфейсом

](https://vc.ru/services/1751598-vkontakte-i-avito-popali-v-spisok-kontrafakcii-i-piratstva-torgpredstavitelstva-ssha-za-2024-god#comments)

«Эта идея абсурдна»: ЦБ прокомментировал возможную заморозку вкладов в России

Регулятор назвал такой сценарий «вредным мифом».

Исповедь перекупа: я слежу за оборачиваемостью, продаю на 50 млн в месяц на маркетплейсах, но заработаю только если

Когда мне вручали диплом инженера-программиста, попросили не ходить в центр занятости, чтобы не портить статистику. Но через полчаса я уже написал свой первый бизнес-план, и мне безвозмездно, то есть даром, выдали 58 800 ₽ на развитие бизнеса.

День 1055: ВТБ получил 5 млрд рублей со счетов бывшей британской «дочки» в России, «ВКонтакте» и «Авито» попали в «пиратский» список США

Собираем новости, события и мнения о рынках, банках и реакциях компаний.

12

4

GPT боты в массовом рекрутинге: будущее HR автоматизации

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

Как я с помощью GPT читаю и запоминаю посты из сотни Telegram каналов и не схожу с ума

⭐️ВТБ под давлением. Опять 😞

Рейтинговое агентство АКРА выпустило интересный материал по банковскому сектору. Разбираемся, что к чему, и причем тут ВТБ?

15

Где дивиденды, Алроса? История, доходность, дивидендная политика и перспективы Алросы

Не всё то золото, что блестит. Алмазы, например, тоже блестят, как и глаза инвесторов, когда они ждут дивиденды. Смотрим, что по дивидендам у крупнейшего алмазадобытчика России и мира.

18