Топ-7 расширений Chrome для повышения продуктивности
Привет! Представляю свежую подборку Хром-расширений для тех, кто хочет больше успевать. Сегодня в меню менеджер паролей, сервис для создания шорткатов, блокировщик сайтов и прочие бесплатные полезности. Итак, приступим!
Linguix Turbo: шаблоны для ускорения переписки

С помощью Linguix Turbo можно создавать текстовые шорткаты, которые сэкономят вам кучу времени при написании имейлов, запросов на добавление в друзья, ответов на частые вопросы и так далее. Всего за пару кликов вы можете превратить свои шаблонные тексты в шорткаты для дальнейшего использования. Чтобы вставить заготовку текста, нужно просто набрать //название_шортката — и вуаля — не надо ничего писать с нуля или копипастить!
Кроме того, Linguix Turbo поможет исправить грамматические ошибки в создаваемом шорткате и сделает ваш текст более выразительным, предложив рекомендации по его улучшению. Расширение легко интегрируется в Gmail, Google Docs, LinkedIn* (заблокирован на территории РФ), Zendesk и кучу других популярных сервисов. Проверка грамматики доступна для английского языка, сами шорткаты – могут быть на любом.
Есть бесплатная версия и расширенная с проверкой грамматики. Есть хак по получению скидки — если перейти на сайт продукта с его страницы на Product Hunt, обещают скидку в 50%.
LastPass: менеджер паролей

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

Это расширение с говорящим названием позволяет блокировать любые сайты, которые вы сочтете нужным — соцсети, игры и прочие сервисы, отнимающие время. Вы также можете настроить расписание для блокировки определенных сайтов: например, блокировать их только в рабочее время, чтобы минимизировать отвлекающие факторы.
BlockSite также предлагает ряд других функций, которые помогут стать более продуктивными. Например, вы можете настроить редирект на более полезный сайт, связанный с работой или с достижением других ваших целей. Еще тут можно добавить мотивационную цитату или напоминание, которое будет отображаться при посещении заблокированного сайта, призывая вас не отвлекаться и вернуться к работе.
RescueTime: трекер активностей

Расширение для тех, кто не против слежки во имя продуктивности. RescueTime следит за тем, какие сайты и приложения вы используете чаще всего, а затем предоставляет подробные отчеты, которые помогают лучше понять ваши онлайн-привычки. Вы можете установить конкретные цели, как вы хотите проводить время в интернете, и расширение будет слать вам уведомления, чтобы помочь не сбиться с пути.
Основная функциональность RescueTime доступна бесплатно. При желании вы можете перейти на премиум-аккаунт, чтобы получить дополнительные функции, такие как отслеживание активностей в автономном режиме и контроль использования мобильных устройств.
Manganum: мультитул для повышения производительности

Для тех, кто хочет всё и сразу: Manganum превращает ваш браузер в рабочую станцию со множеством полезных функций, собранных в одном месте. Здесь есть и управление задачами, и создание заметок, и добавление закладок, и даже переводчик. Кроме того, можно вести календарь и быстро восстанавливать случайно закрытые вкладки. В недавнем обновлении разработчики также добавили интеграцию с ChatGPT.
Другие функции, такие как таймер выполнения задач и блокировщик сайтов, помогут справиться с отвлекающими факторами. Для эстетов доступны красивые фоны для браузера, а еще сюда можно добавить различные виджеты (текущее время, погода, финансовые сводки и т. д.). В общем, Manganum позволяет прокачать начальную страницу Хрома для быстрого доступа к полезным функциям.
Loopin: продуктивные совещания

Инструмент для тех, кто устал от вялотекущих рабочих созвонов и хотел бы проводить их более бодро и продуктивно. С помощью Loopin вы можете делать заметки во время совещаний прямо из Chrome. Также тут можно назначать задания, добавлять комментарии и делиться заметками с другими членами команды.
Loopin имеет ряд других функций, таких как совместная работа в режиме реального времени и автоматическая синхронизация. Это позволяет всей вашей команде быть в курсе изменений и обновлений. Если вы менеджер проекта, руководитель группы или просто хотите более эффективно проводить встречи, попробуйте это расширение.
Todoist: список дел

Это уже ставший классикой инструмент для организации задач и списков дел. Расширение интегрируется с приложением Todoist, которое позволяет создавать задачи и управлять ими на разных устройствах.
Todoist для Chrome имеет ряд полезных функций, таких как использование горячих клавиш и возможность распределять задачи по проектам. Вы также можете в пару кликов установить сроки, добавить метки и даже делегировать задачи другим членам команды. В общем, Todoist идеально подходит для всех, кто хочет держать список задач на виду.
На этом, всё, спасибо за внимание и делитесь своими излюбленными Chrome-тулами для продуктивности в комментариях!
- gtd
- продуктивность
- chrome
- chrome-расширения
- расширения для браузеров
ТОП 17 полезных расширений для Google Chrome
Читайте о семнадцати самых полезных расширениях для Google Chrome. Блокировщики рекламы, дополнения к видеохостингам, онлайн переводчики, для работы с вкладками, очистки куки, и так далее. Одна из замечательных особенностей браузера «Google Chrome» заключается в том, что он предлагает платформу для установки множества расширений и дополнений. Сторонние разработчики реализовали их для значительного увеличения функционала браузера, повышения производительности и устранения разного рода неполадок и ошибок.


В этой статье, мы рассмотрим 17 дополнений, для одного из самых распространённых браузеров планеты, без которых нам было бы жить труднее.
- Расширение онлайн-переводчик «Google Dictionary»
- Автоматическое закрытие неактивных вкладок «Tab Wrangler»
- «Session Buddy», сохраните все открытые вкладки в «Chrome»
- «Ghostery» поможет защитить свою конфиденциальность
- Приложение «Flix Plus» для «Netflix»
- Дополнение «Magic Actions for YouTube»
- Расширение «Pushbullet»
- «Google Data Saver» ускорит загрузку в браузере
- Ищем ошибки правописания на английском языке с помощью «Grammarly»
- Уничтожаем онлайн рекламу с помощью «Adblock Plus»
- Приложение «StayFocusd»
- Управление постами в социальных сетях с помощью «Buffer»
- Измеряем характеристики интернет соединения с помощью «Gauge»
- Расширение «RescueTime»
- Удаленный рабочий стол в «Chrome»
- Менеджер паролей «LastPass»
- Дополнение «Earth View» специально для «Google Earth»
- Вопросы и ответы
- Комментарии
Расширение онлайн-переводчик «Google Dictionary»
Для установки, потребуется нажать на кнопку «Настройка и управление Google Chrome» (три вертикальные точки) в верхнем правом углу окна программы, далее переходим в меню «Дополнительные инструменты» и выбираем пункт «Расширения».

Откроется окно со списком предустановленных дополнений, опускаемся в самый низ и кликаем на ссылку «Ещё расширения».

Откроется веб-портал «Интернет-магазин Chrome», это официальная колекция приложений, тем и дополнений для браузера.
Перейти к просмотру

Расширение «Google Dictionary», это специальная надстройка, которая использует данные онлайн переводчика от «Google». Чтобы установить его, введите в строку поиска фразу «Google Dictionary» и нужное приложение будет первым в списке. Кликаем на него и нажимаем кнопку «Установить». (Не забудьте проверить надпись в правом верхнем углу описания о том, что приложение «Совместимо с вашим устройством»)

Работа с приложением более удобна потому, что вам не потребуется открывать новую вкладку, загружать онлайн-переводчик, вводить слово и ждать его перевод. Установив его, просто кликните дважды по слову, перевод которого вам необходимо узнать, и мгновенно всплывёт маленькая подсказка. Если перейдёте по ссылке «More…», то попадёте на новое окно с поиском «Google» по выделенной фразе.

Автоматическое закрытие неактивных вкладок «Tab Wrangler»
Существует целое множество расширений, которые помогают управлять перегрузкой браузера, но «Tab Wrangler» является одним из лучших. Если вы постоянно открываете новые вкладки, при этом забывая закрыть уже открытые, то это дополнение для вас. Неактивные вкладки будут закрываться в автоматическом режиме, так же можно будет повторно открыть те, которые закрыли случайно. Ещё присутствует возможность синхронизации настроек на всех ваших компьютерах и устройствах.

«Session Buddy», сохраните все открытые вкладки в «Chrome»
Врятли найдётся человек, который хоть раз в жизни не потерял все открытые вкладки в браузере. При аварийном закрытии программы, все вкладки теряются и концов потом не найдёшь. Именно эту проблему и призвано решить дополнение «Session Buddy». Оно позволяет сохранять состояние всех открытых вкладок с возможностью восстановления их в новой сессии, после перезагрузки браузера. Можно восстановить только нужную сессию или только нужную вкладку, экспортировать вкладки, и вообще, расщирение предоставляет полное управление и редактирование всеми сохранёнными сессиями.

Крайне полезное и удобное приложение на наш взгляд, оно может сэкономить уйму времени потому, что не придётся заново вспоминать и искать случайно закрытые вкладки. Это отличное решение для каждого пользователя.
«Ghostery» поможет защитить свою конфиденциальность
Одно из наиболее известных и наиболее качественных расширений для защиты анонимности. «Ghostery» отображает подробную информацию обо всех трекерах, которые подключены к только что загруженному веб-сайту, давая вам возможность просмотреть их и заблокировать все или по отдельности.

Расширение отслеживает скрытую от пользователей сторону интернета, там действуют разнообразные шпионы, сетевые жучки и маячки. Они размещены рекламщиками, сборщиками информации о поведении пользователя на странице, собственно самими владельцами сайтов, и все они следят за вашей активностью в интернете. Разработчики научили приложение распознавать более 500 таких трекеров. А также блокировать выполнение сценариев, загрузку изображении, объектов и встроенных документов, нужных только для сбора конфиденциальной информации о вас.

Настройка приложения крайне проста и понятна, всего несколько функций:
- «Сбор данных» (Ghostrank) – отправка информации о неизвестных трекерах на сервера разработчиков. Каждый день появляются новые шпионы и жучки, и чем раньше разработчики узнают о появлении новых уязвимостей, тем быстрее они попадут в базу. Мы крайне рекомендуем включить это функцию.
- «Автоматическое обновление» – тоже полезная вещь, все улучшение и фиксы приложения будут устанавливаться автоматически.
- «Блокировка» – в этом разделе мы указываем какие именно шпионы блокировать: аналитические, виджеты, конфиденциальные, маяки или рекламные. Можно выбирать по отдельности или все скопом.
Перейти к просмотру

Приложение «Flix Plus» для «Netflix»

Если вы являетесь одним из миллионов подписчиков веб-портала «Netflix», то расширение «Flix Plus», созданное «Lifehacker», будет крайне полезным для вас. Оно добавляет тонну разнообразных настроек веб-интерфейса: быстрые поисковые ссылки, встроенные рейтинги, возможность скрывать текст спойлера, более настраиваемый экран и многое другое.
Перейти к просмотру

Дополнение «Magic Actions for YouTube»

Если «Flix Plus» является расширением только для «Netflix», то это дополнение работает только с «YouTube». Оно призвано избавить вас от постоянных, никому не нужных, действий, связанных с настройкой просмотра для каждого отдельного видео.
Так что же оно умеет? Из самых полезных свойств данного приложения можно перечислить дополнительную регулировку громкости воспроизведения с помощью колёсика, полное отключение всей рекламы, возможность указать максимальное качество видеопотока, показывать или не показывать комментарии и описания, новая панель, вывод названия и аннотаций к видео.
Ещё одной, как нам кажется, приятной функцией является возможность затемнения всего пространства вокруг окна с видео, также окошко при этом центрируется. Опция «Speed Buster» должна значительно увеличивать скорость загрузки видео, и присутствует опция повтора видеоролика.
В данном расширении отсутствует возможность скачать видео с «YouTube», добавить её нельзя потому, что это противоречит правилам пользования видеохостинга.
Расширение «Pushbullet»
Вы с большой вероятностью используете браузер «Google Chrome» как на компьютере, так и на мобильном устройстве. Приложение «Pushbullet» позволяет связывать ПК с телефоном, на котором установлен «Chrome», чтобы с помощью одного клика отправлять ссылки, файлы и введённый текст на мобильное устройство, отсылать и читать СМС сообщения, общаться с друзьями в чате и многое другое.

Теперь, давайте рассмотрим функции приложения поподробнее:
- Отправляйте текстовые СМС сообщения. Набирать сообщение на клавиатуре гораздо приятней и быстрее, чем на экране телефона, также можно легко просматривать новые сообщения прямо в браузере.
- Читаем все уведомления в «Google Chrome». Пользуясь расширением «Pushbullet», вы никогда не пропустите важные уведомления, которые пришли на телефон: журнал вызовов, СМС, сообщения «WhatsApp», уведомления приложений и т. д.
- Отправляйте интересные ссылки на телефон. Мгновенный обмен ссылками между вашими устройствами, больше не придётся отправлять линки по электронной почте, через «Skype», «Viber» или СМС, нажали одну кнопку и все готово.
- Общение с друзьями«Pushbullet» отлично работает на любых устройствах с установленным браузером, что делает общение с друзьями в чате более удобными, чем когда-либо.
- Быстрая передача файлов Отправляйте изображения, музыку, видео, документы и другие файлы между всеми вашими устройствами. Переданные данные будут загружены автоматически, и вы сможете запустить их прямо из уведомлений.
Перейти к просмотру

«Google Data Saver» ускорит загрузку в браузере

Если у вас медленное или ограниченное соединение с интернетом, или вы выходите в интернет через телефон, то расширение «Google Data Saver» может существенно увеличить скорость загрузки страниц в браузере. Когда оно активно, то данные страниц сжимаются перед загрузкой в «Chrome», благодаря специальным серверам «Google». Это дополнение не может сжимать данные, загружаемые по протоколу «HTTPS» или в режиме «инкогнито». Нажмите на кнопку “Подробнее” и во всплывающем окне можно увидеть всю информацию о загруженном трафике.
Ищем ошибки правописания на английском языке с помощью «Grammarly»
Когда вы пишите какой-либо текст на английском языке, то наверняка проверяете его, прогоняя через «Microsoft Word» или «Google Translate». Благодаря этому, можно выявить большинство грамматических и орфографических ошибок и в тот же час исправить их. «Grammarly» – это специальное расширение, которое призвано облегчить поиск и исправление таких ошибок прямо из браузера, оно распознаёт грамматические, орфографические ошибки, а также даёт советы по повествованию.

С его помощью можно проверить текст на плагиат, получить советы, как подвести написанное под заранее заданный стиль: деловой, разговорный или художественный. Как уверяет «интернет-магазин Chrome», пользователями данного приложения являются более десяти миллионов человек, также оно имеет более двадцати семи тысяч положительных оценок.
«Grammarly» можно установить как дополнение в «Google Chrome», или в любой другой браузер, ещё можно добавить его как надстройку в «Microsoft Word», или обычное приложение для ОС Windows.

Следовательно, каждый пользователь сможет воспользоваться всеми прелестями данного расширения, к тому же дополнение работает и на смартфонах. Хотя, пока ещё разработчики не создали отдельные приложения под «iOS» и «Android», что делает его менее конкурентоспособным на этих платформах.
Уничтожаем онлайн рекламу с помощью «Adblock Plus»
Перейти к просмотру

Если вы ненавидите постоянно всплывающую рекламу, то дополнение «AdBlock Plus» станет для вас настоящим открытием в мир без оной. Расширение позволяет блокировать не только рекламу, но и выполнение кодов слежения за действием пользователя на странице, запросы на вредоносные домены в сети и т.д.

Проект «Adblock Plus» является программой с открытым исходным кодом, который начал своё развитие ещё в 2006 году и продолжает совершенствоваться до сего дня. Если верить сайту разработчиков, то данное расширение используют более чем на ста миллионах компьютеров и смартфонов, только в «интернет-магазине Chrome» количество установок составляет более десяти миллионов. Также дополнение имеет более ста пятидесяти тысяч положительных отзывов. Это одно из самых популярных браузерных приложений в мире.
На самом деле дополнение блокирует HTTP-запросы на адреса, которые прописаны в специальных списках-фильтрах. Сами списки уже созданы, и вы можете загрузить нужные лично вам, подключать и отключать их когда вам захочется. Расширение может блокировать изображения, «iframes», скрипты, «Flash», «Java» и так далее. Пройдёмся по функциям чтобы узнать, что же может «Adblock Plus»:
- Удаление рекламы Блокирует все рекламные объявления при загрузке веб-сайта по умолчанию, включая рекламное видео на «YouTube», объявления в «Facebook», баннеры разных размеров, которые загружаются из рекламных «помоек», всплывающие окна и много другое. Управлять блокировкой можно с помощью специальных фильтров – списков рекламных доменов.
- Функция «допустимая реклама» Поскольку большинство сайтов зарабатывают именно на рекламе, а настройки по умолчанию приведут к полной блокировке рекламы, то теперь «AdBlock Plus» разрешает, так называемую, правильную не навязчивую рекламу. Видна она будет только когда пройдёт строгую фильтрацию, в тоже время вы всегда сможете отключить эту функцию.

Приложение «StayFocusd»
Главная функция этого расширения – держать вас в рабочем ритме, так сказать «сфокусировать» вас на продуктивной деятельности и не давать проводить много времени на различных, отвлекающих от работы, сайтах. Таких как социальные сети, онлайн игры, новостные сайты, развлекательные порталы и т.д., которые попросту убивают ваше время. В нём присутствует полный набор необходимых функций для выполнения этой задачи. Нужно прописать количество времени, которое вы можете потратить на посещения «плохих» сайтов, указать свои активные дни и рабочие часы, именно в это время программа будет «заставлять» вас работать.

Также есть самая нужная, специальная функция «Nuke em!», которая запрещает посещение любых сайтов из «чёрного списка» в указанный вами период времени, на наш взгляд самая полезная.
Управление постами в социальных сетях с помощью «Buffer»
Дополнение упрощает управление несколькими учетными записями социальных сетей, и по-прежнему представляет мощные инструменты для управления публикаций в «Facebook», «Twitter», «LinkedIn», «Google+» и т.д. Также оно будет вести всю необходимую пользователю статистику, и проанализирует всю информацию, которую вы опубликуете.

Чтобы добавить новый пост с какой-либо страницы сайта, потребуется просто кликнуть на кнопку «Buffer» и выделить нужный текст. А также, настроить удобное время для его публикации, таким образом все ваши «твиты и посты» будут добавляться в ленту ваших социальных сетей на протяжении всего дня. Для каждого опубликованного поста, приложение соберёт и покажет анализ статистики просмотров, «ретвитов», «лайков» и упоминаний в сети.
Данное расширение интегрируется в «Twitter», «Google Reader», «Facebook», «Reddit» и «Hacker News». Во время чтения какой-либо статьи нажмите на кнопку «Buffer» чтобы поделиться ссылкой на неё в своих соц. сетях. Всё это позволяет с лёгкостью публиковать запланированные «твиты и посты» изо дня в день. Вы даже можете настроить определённую дату и время публикации для каждого поста в отдельности, ещё настройте частоту публикации, допустим каждые 2 часа, чтобы ваша лента постоянно обновлялась без вашего участия.

«Buffer» может управлять несколькими учетными записями в сетях «Twitter», «Facebook» и «LinkedIn», дополнительные аккаунты можно добавить на странице профиля на сайте разработчика дополнения.
Измеряем характеристики интернет соединения с помощью «Gauge»
Приложение отслеживает и предоставляет отчет с последними характеристиками вашего интернет соединения, то есть отслеживает размещение веб-сайтов, которые вы посещали, количество времени на их загрузку, сравнивает эго с показателями у других пользователей и т.д.
Если у вас тормозит интернет, а вы не представляете с чем это связано? Может быть у вас медленное соединение с интернетом, или проблемы с «WiFi-подключением», неполадки у провайдера или всё-таки виноват сам веб-сайт? Со всеми этими вопросами поможет разобраться дополнение «Gauge». Благодаря постоянно собираемой статистике на вашем ПК и у других пользователей, оно поможет понять в чём именно причина долгой загрузки той или иной страницы, проблема с вашей стороны или просто сервер находится слишком далеко.

Данное приложение работает более продуктивно, чем стандартные измерители скорости траффика, поскольку замеры производятся непрерывно с огромного количества мест по всему миру. С помощью этого инструмента, перед вами будет вся необходимая статистика и вы сможете абсолютно точно понимать уровень производительности интернет соединения на вашем ПК.
Расширение «RescueTime»
Задумывались ли вы когда-нибудь, куда на самом деле тратиться время, проведённое вами за компьютером в течении всего дня? «RescueTime» может рассказать вам, на каких веб-сайтах вы провели всё своё время, и помочь вам сохранить его в будущем. Оно спокойно отслеживает использование Интернета в фоновом режиме и показывает, какой процент вашего времени в Интернете на самом деле тратится на производительность, а какой – на развлечения.

Удаленный рабочий стол в «Chrome»
Для тех пользователей, которые ненавидят сложность настройки и использования стандартных инструментов для удаленного рабочего стола, это дополнение будет просто незаменимо. С его помощью можно с лёгкостью удаленно управлять любой операционной системой из любой другой ОС, при этом браузер «Google Chrome» позволит вам выполнить все необходимые операции, без исключений. Это расширение особенно полезно на устройствах «Chromebook».
Менеджер паролей «LastPass»
«LastPass» – это одно из самых полезных и распространённых браузерных приложений, количество установок в «Chrome» подбирается к семи миллионам, а также, оно получило двадцать шесть тысяч положительных отзывов.

Работать с расширением крайне удобно, управление и настройка предельно просты и интуитивно понятны. Основная функция – это хранение конфиденциальной информации (логин, пароль, адрес электронной почты и др.).
Приложение позволяет открывать нужный веб-сайт в один клик: переходите в хранилище, набираете в строке поиска название сайта и дважды кликаете на него, вследствие чего данный сайт загрузится на новой вкладке, а логин и пароль автоматически пропишутся в нужных полях. Также при каждом вводе нового пароля, для любого сайта, дополнение предложит сохранить его в базе.
Если вы не можете придумать длинный, надёжный пароль, то встроенный настраиваемый генератор обеспечит вас паролем любой сложности.
Ещё есть защищённое хранилище для особо важной информации, чтобы получить к ней доступ потребуется заново ввести мастер пароль. Мы крайне рекомендуем пользоваться этим расширением, так как всегда легче запомнить только один пароль вместо тысячи.
Дополнение «Earth View» специально для «Google Earth»

Расширение «Earth View» от компании «Google» даёт доступ к целой коллекции снимков планеты Земля, сделанных со спутника. Как сообщает сайт разработчиков, было вручную обработано более полутора тысяч прекраснейших фотографий поверхности Земли. С помощью данного приложения, пользователи смогут просматривать снимки и сразу находить их на карте мира, также можно скачать понравившиеся изображения и использовать их как обои на рабочем столе. Дополнение можно настроить таким образом, чтобы на каждой, вновь открытой, пустой вкладке браузера отображался случайный снимок.

Автор: Vladimir Mareev, Технический писатель
Владимир Мареев — автор и переводчик технических текстов в компании Hetman Software. Имеет тринадцатилетний опыт в области разработки программного обеспечения для восстановления данных, который помогает ему создавать понятные статьи для блога компании. Спектр публикаций довольно широк и не ограничивается только лишь темой программирования. Статьи включают также разнообразные обзоры новинок рынка компьютерных устройств, популярных операционных систем, руководства по использованию распространенных и специфических программ, примеры решений возникающих системных или аппаратных проблем и многие другие виды публикаций.

Редактор: Michael Miroshnichenko, Технический писатель
Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.
- Обновлено:
- 24.10.2023 12:17
Топ 10 лучших расширений Google Chrome для оптимизации работы

Сегодня Google Chrome является одним из наиболее популярных браузеров, если не самым популярным. И это не удивительно. Chrome сделан максимально удобно и просто, он дает много преимуществ в сравнении с другими браузерами и обладает высокой скоростью работы.
Детям из Мариуполя нужно 120 ноутбуков для обучения — подари старое «железо», пусть оно работает на будущее Украины
И все-таки даже такой хороший браузер можно улучшить. Для этих целей разрабатывается большое количество всевозможных расширений для Chrome, которые увеличивают количество возможностей, устраняют недостатки браузера и помогают пользователям наиболее эффективно серфить в интернете. Расширений Chrome много, в этом материале мы постарались выбрать самые полезные, которые пригодятся любому пользователю.

1. Adblock Plus
Adblock Plus — одно из самых известных и проверенных временем расширений для Chrome.
Курс QA Manual.
Успішна кар’єра в IT-сфері без необхідності глибоких знань програмування. Очікуйте заробітню плату в розмірі 600$ після завершення навчання.
Сегодня реклама заполонила почти все существующие ресурсы. Мы встречаем ее на разных сайтах не только в привычном видеоформате, но и в виде баннеров, всплывающих окон и в других проявлениях. Иногда реклама бывает до такой степени раздражающей и мешающей, что очень хочется как-то ее убрать, заблокировать или хотя бы скрыть. Именно для этих целей и существует расширение Adblock Plus. Сокрытие рекламы увеличивает скорость загрузки страниц.
Adblock Plus помогает не только скрывать рекламу, но и настраивать специальные фильтры под свой запрос. Если вы просто хотите запретить запуск расширения на определенном сайте или хотите использовать свой набор настроек блокировки рекламы, в диалоговом окне «Параметры» есть инструменты, которые помогут это сделать.
Расширение еще и защищает от известных всем файлов cookie, собирающих информацию о пользователе. Расширение бесплатно. Установка не занимает много времени, и она очень простая.
- блокировка всех видов рекламы (видео, всплывающих окон и баннеров);
- настройка фильтров так, чтобы реклама скрывалась только там, где вам нужно;
- отслеживает файлы cookie и предоставляет пользователю больше конфиденциальности;
- способствует увеличению скорости загрузки сайтов.
2. Lightshot
Иногда для работы необходимо делать скриншоты экрана. Но прежде чем отправлять их адресату, большинство пользователей предпочитает обработать снимок, обрезать ненужное и только после этого отослать. В Windows этот процесс занимает некоторое время, так как после создания снимка его необходимо сохранить, затем открыть изображение, выбрать редактирование, отредактировать.
Курс Python Pro.
В ході проходження курсу Python Pro Студенти набувають навички вирішення складних завдань за допомогою мови Python.
Такое количество действий не всегда бывает удобно выполнять, особенно если нужно действовать быстро. Для этих целей существует расширение Lightshot, созданное для упрощения работы со скриншотами. С его помощью редактировать скриншот можно прямо в браузере. Нажатие на значок браузера позволяет выбрать нужную область экрана, которая отобразится на снимке. После создания скриншота его можно дополнить аннотациями или рисунками от руки.
Поделиться созданным снимком можно несколькими способами:
- с помощью ссылки (недостаток в том, что меняя символ в адресе ссылки, вы можете открыть скриншот другого пользователя, так как доступ открытый);
- через внутренний сервис prntscrn.com;
- быстрое создание снимка экрана;
- возможность редактирования прямо в браузере;
- есть разные варианты, как можно поделиться изображением.
Курс DevOps engineer.
DevOps інженери відповідають за автоматизацію процесів розробки, тестування та випуску продукту. Вони знають, як зробити розробку швидкою, ефективною та безпечною.
3. Click&Clean
Ни для кого не секрет, что вся информация о наших запросах в интернете, переходах на различные веб-страницы и загрузке материалов сохраняется в истории браузера, поэтому иногда приходится ее чистить вручную.
Расширение Click&Clean для Chrome позволяет очистить кэш, поиск URL-адресов, файлы cookie и историю загрузок одним нажатием кнопки на панели инструментов браузера благодаря встроенным диспетчеру задач и инструментам для удаления конфиденциальных данных. Причем удаление происходит без необходимости перезагрузки браузера. С помощью расширения повышается конфиденциальность пользователя и безопасность во время серфинга в интернете.
В Click&Clean встроен сканер вредоносных программ на основе BitDefender QuickScan, поэтому расширение также может сканировать ваш компьютер на наличие вирусов и очищать жесткий диск от неиспользуемых приложений, в результате помогая вашему компьютеру работать быстрее.
При установке плагина функции настраиваются путем нажатия на значок рядом с адресной строкой, который отображается после загрузки расширения. Click&Clean предоставляет различные настройки. Например, можно выбрать временной промежуток, через который данные будут удалены.
- очистка кэш, истории запросов, файлов;
- сканирование компьютера на наличие вирусов;
- настройка параметров под запрос.
4. Grammarly
Часто используемое расширение Grammarly выявляет ошибки в написании текстов на английском языке. Всем, кто работает с английским, Grammarly может помочь писать грамотно. Причем его можно использовать как при написании официальных e-mail рассылок и писем, так и при ведении блога на какой-нибудь иностранной платформе.
Расширение способно находить более 2500 возможных ошибок и проверять не только орфографию, но и грамматику и пунктуацию (запятые, точки и апострофы). Проверяются совпадения между разными частями речи, чтобы текст звучал логично. Все это возможно благодаря встроенному интеллектуальному словарю.
Работает программа очень понятно: когда выявляется ошибка, значок грамматики становится красным. При нажатии правой кнопкой мыши на слово, появляется правильное написание слова или фразы.
Помимо расширения существует приложение, перетащив фрагмент текста в которое, можно понять, какие ошибки допущены.
- выявление ошибок орфографии, пунктуации, грамматики и др.;
- предоставление правильного варианта написания.
5. Checker Plus for Gmail
Еще одно популярное расширение для Chrome. Его назначение заключается в помощи пользователям в работе с почтой. Без расширения необходимо специально заходить в почтовый ящик и проверять, не пришло ли новых сообщений. Со смартфона, конечно, приходят уведомления, но при работе с компьютера такой функции нет.
Расширение Checker Plus for Gmail дает возможность полноценной работы с письмами, причем для этого даже не обязательно заходить в Gmail. Вы будете получать уведомления о новых письмах и можете сразу же их открывать, читать и удалять. Есть возможность переключаться между аккаунтами.
Когда расширение будет установлено, справа от строки поиска отобразится иконка, показывающая список непрочитанных сообщений. Нажав на значок расширения, вы увидите интерфейс Gmail со всеми письмами, с которыми можете работать.
Благодаря расширению уведомления с почты приходят, даже если браузер закрыт.
- работа с письмами Gmail без необходимости заходить в почту;
- уведомления о новых письмах, даже при закрытом браузере.
6. OneTab
Есть один общий недостаток, на который жалуются все пользователи Chrome — браузер использует слишком много оперативной памяти. Каждая дополнительная вкладка требует больше памяти, и если она заканчивается, вся система резко замедляется. Большинство пользователей, тем не менее, часто работают сразу с несколькими вкладками. Что же делать, если работу нужно оптимизировать, а закрывать вкладки не хочется?
Расширение OneTab разработано, чтобы снизить количество ресурсов, потребляемых браузером. С помощью этого плагина вкладки можно закрыть, не теряя их при этом, так как OneTab группирует и сохраняет ссылки в одну вкладку в хронологическом порядке. Там вы можете видеть адрес ссылки, иконку сайта, информацию о веб-странице, которая помогает ориентироваться. Это позволяет вам манипулировать десятками вкладок, не тратя впустую ценную оперативную память.
Открыть необходимую ссылку можно одним нажатием кнопки мыши, а когда веб-ресурс будет уже не нужен, его можно закрыть, не теряя при этом URL, ведь он будет по-прежнему находится во вкладке со всеми ссылками. Страницы, которые больше не нужны, всегда можно удалить из архива.
Расширение также позволяет экспортировать список страниц в текстовый файл. Эта функция тоже выполняется в одно нажатие.
- сохранение оперативной памяти;
- оптимизация работы посредством группировки вкладок;
7. LastPass
Наверно, сегодня уже не найти человека, который бы помнил все свои пароли от всех сайтов. Некоторые пользователи предпочитают не придумывать много паролей, а использовать везде один, но, к сожалению, не всегда этот метод работает, так как каждый веб-ресурс предоставляет свои требования к паролям. В итоге приходится придумывать очень сложные и длинные, которые сложно запомнить.
Чтобы не переживать за забытые пароли, советуем установить расширение LastPass. Оно позволяет держать все пароли в одном месте. Более того, у расширения есть функция создания надежных паролей. LastPass автоматически сохраняет их в зашифрованном хранилище. Есть один нюанс — нужно помнить пароль от зашифрованного хранилища (так называемый masterpass).
Преимуществом расширения является удобная функция сохранения паролей. Вводить их в базу данных специально не нужно. При входе в какой-либо аккаунт расширение само предложит его сохранить, что очень упрощает работу.
- сохранение существующих паролей;
- создание новых паролей и сохранение их.
8. The Great Suspender
Расширение, похожее на OneTab. Оно также призвано оптимизировать процесс серфинга в интернете при помощи работы со вкладками.
Great Suspender — это расширение, которое приостанавливает (выгружает из памяти) любую вкладку, которая не использовалась активно в течение любого установленного вами периода времени (по умолчанию — 1 час). Это обеспечивает 60-процентную экономию использования памяти, что позволяет компьютеру быстрее выполнять другие задачи. То есть вкладки не закрываются, вы всегда можете к ним вернуться и использовать их в работе. Но пока они не задействованы, ресурсы на них не тратятся.
Пользователь может самостоятельно определять домены и URL-адреса, которые не хочет приостанавливать (например, почтовый ящик), и предотвращать приостановку вкладок, которые в настоящее время воспроизводят мультимедиа, чтобы не пропустить важную информацию.
- блокировка неактивных вкладок;
- настройка времени, через которое производится блокировка;
- настройка списка вкладок, которые не должны быть заблокированы.
9. CrxMouse Gestures
Часто хочется как можно меньше времени тратить на управление и больше — на непосредственную работу. Популярное расширение CrxMouse Gestures позволяет управлять функциями браузера при помощи мыши.
После установки плагина у вас появляется возможность работать путем зажимания правой кнопки мыши и рисования того жеста, который вам нужен. Таким образом вы можете переключать вкладки, открывать нужные страницы, возвращаться на страницу назад и проделывать еще много различных действий, и вам не потребуется специально нажимать на нужную иконку.
Расширение также позволяет не только пользоваться предлагаемыми жестами, но и создавать свои собственные. Вы можете придумывать любые жесты и закреплять за ними определенные функции.
- работа с функциями Google при помощи мыши;
- возможность создавать и закреплять свои команды.
10. HTTPS Everywhere
HTTPS — это протокол веб-сайта, который обеспечивает безопасность сайта перед тем, как вы его посетите. Пока HTTPS не совсем повсеместен в интернете, что не гарантирует, что просматриваемый вами сайт на 100% безопасен.
Расширение HTTPS Everywhere — это результат совместной работы разработчиков Tor Project (браузера для выхода в даркнет и защиты конфиденциальных данных) и консорциума Electronic Frontier Foundation. С его помощью веб-страницы контактируют с пользователем только через протокол HTTPS. Расширение Chrome HTTPS Everywhere запрашивает подключение по зашифрованному каналу везде, где оно доступно, и перенаправляет запрос, который отправляется на любой веб-сайт, который вы посещаете в Chrome. Браузер создает безопасную версию этого сайта. Также расширение предупреждает о возможной опасности при переходе по ссылке, если сайт не поддерживает современные стандарты защиты.
Таким образом можно просматривать страницы с уверенностью, что вся ваша личная информация в безопасности и ваш компьютер не будет обнаружен вредоносным ПО.
- защита личной информации и компьютера пользователя.
Итоги
На самом деле существует несчитанное количество самых разных расширений для Chrome. Мы постарались отобрать самые популярные у пользователей и наиболее функциональные. Надеемся, эти разработки сильно упростят жизнь и оптимизируют работу в интернете.
Еще больше расширений для Chrome в этом видеообзоре:
Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 1
Расширения браузера — это web-приложения, которые устанавливаются в web-браузер, чтобы расширить его возможности. Обычно, для того чтобы воспользоваться расширением, пользователю нужно найти его в Chrome Web Store и установить.
В этой статье я покажу как создать расширение для браузера Google Chrome с нуля. Это расширение будет использовать API браузера, для того чтобы получить доступ к содержимому web-страницы любой открытой вкладки. С помощью этих API можно не только читать информацию с открытых web-сайтов, но и взаимодействовать с этими страницами, например, переходить по ссылкам или нажимать на кнопки. Таким образом расширения браузера могут использоваться для широкого круга задач автоматизации на стороне клиента, таких как web-scrape или даже автоматизированное тестирование frontend.
Мы создадим расширение, которое называется Image Grabber. Оно будет содержать интерфейс для подключения к web-странице и для извлечения из нее информации о всех изображениях. Далее, при нажатии на кнопку «GRAB NOW» список абсолютных URL этих изображений будет скопирован в буфер обмена. В этом процессе вы познакомитесь с фундаментальными строительными блоками, которые в дальнейшем можно будет использовать для создания других расширений.
Расширения, создаваемые таким образом для браузера Chrome совместимы с другими браузерами, основанными на движке Chromium и могут быть установлены, например, в Yandex-браузер или Opera.
В результате при правильном выполнении всех шагов, вы получите расширение, которое будет выглядеть и работать так, как показано на следующем видео:
Это только первая часть истории. Во второй части я покажу, как расширить интерфейс, чтобы выгрузить все или выбранные изображения в виде ZIP-архива, а также, как опубликовать свое расширение в Chrome Web Store.
Базовая структура расширения
Расширение Google Chrome — это web-приложение, содержащее любое количество HTML-страниц, файлов CSS и изображений, а также, файл manifest.json, который определяет как расширение выглядит и работает. Все эти файлы должны быть в одной папке.
Минимальное расширение состоит только из одного файла manifest.json. Вот пример этого файла, который вы можете использовать как шаблон при начале создания любого расширения:
< "name": "Image Grabber", "description": "Extract all images from current web page", "version": "1.0", "manifest_version": 3, "icons": <>, "action": <>, "permissions": [], "background":<> >
Здесь только manifest_version должен быть равен 3. Остальные поля заполняются произвольно в зависимости от назначения расширения: name — название расширения, description — краткое описание, version — версия. Остальные параметры мы будем заполнять по ходу разработки интерфейса. Полный список параметров manifest.json можно найти в официальной документации.
Папка с одним файлом manifest.json — это минимальное расширение, которое может быть установлено в Google Chrome и запущено. Оно ничего не будет делать, однако именно с установки нужно начинать. Поэтому создайте папку image_grabber, затем добавьте в нее текстовый файл manifest.json с содержимым приведенным выше.
Установка расширения
В процессе разработки расширения, оно представляет собой папку с файлами. В терминологии Google Chrome это называется «unpacked extension». После завершения разработки, его нужно упаковать в ZIP-архив и загрузить в Chrome Web Store, откуда оно потом может быть установлено в браузер.
Однако на этапе разработки, «unpacked extension» тоже можно установить, просто как папку с файлами. Для этого нужно ввести chrome://extensions в браузере, чтобы открыть Chrome Extensions Manager:

Это покажет список уже установленных расширений. Чтобы устанавливать в него «unpacked extensions», включите флажок «Developer mode» в правом верхнем углу. После этого должна отобразиться панель управления расширениями.

Затем нажмите первую кнопку Load unpacked и укажите папку, в которой находится расширение с файлом manifest.json. В нашем случае это папка image_grabber. Расширение должно отобразиться в списке:

Эта панель должна показывать данные расширения такие как имя, описание и версию, ранее указанные в manifest.json, а также уникальный идентификатор, присвоенный этому расширению. Каждый раз после изменения manifest.json и файлов, непосредственно указанных в нем, нужно обновлять расширение в браузере, нажимая на кнопку «Reload«:

Чтобы запустить и использовать установленное расширение в браузере, нажмите кнопку Extensions на панели инструментов Google Chrome рядом с URL и найдите «Image Grabber» в списке установленных расширений:

Также можно нажать иконку Pin в списке рядом с расширением, чтобы добавить кнопку данного расширения на панель Chrome, рядом с другими расширениями:


Вот как выглядит минимальное расширение — кнопка с серым прямоугольником и буквой внутри. При нажатии на эту кнопку ничего не происходит. Давайте заполним остальные поля файла manifest.json, чтобы изменить картинку расширения и заставить его выполнять нужные действия.
Добавление иконок
Параметр icons файла manifest.json принимает объект JavaScript, ключами которого являются размеры иконок, а значениями пути к файлам с этими иконками. Иконка это картинка с расширением PNG (для прозрачности). Расширение должно иметь иконки разных размеров: 16×16, 32×32, 48×48 и 128×128. Я создал иконки для всех этих размеров и поместил их в папку «icons» внутри папки с расширением. Сделайте то же самое. Имена файлов могут быть любыми:
< "name": "Image Grabber", "description": "Extract all images from current web page", "version": "1.0", "manifest_version": 3, "icons": < "16":"icons/16.png", "32":"icons/32.png", "48":"icons/48.png", "128":"icons/128.png" >, "action": <>, "permissions": [], "background":<> >
Как видно, здесь указаны относительные пути к файлам в папке icons.
После изменения manifest.json нажмите кнопку «Reload» на панели расширения Image Grabber в Chrome Extensions Manager, чтобы обновить установленное расширение. Если все сделано как описано выше, то картинка на кнопке расширения должна измениться:

Так значительно лучше, однако когда мы нажимаем на эту кнопку все еще ничего не происходит. Пришло время добавить «действия» (actions) к расширению.
Создание интерфейса расширения
Расширение должно что-то делать, то есть запускать определенные действия. Расширение может выполнять действия двумя способами:
- В фоне, при запуске расширения и при дальнейшей его работе
- Из интерфейса, когда пользователь нажимает кнопку расширения и затем взаимодействует с различными интерфейсными элементами.
Расширение может использовать обе эти возможности одновременно.
Чтобы запускать действия в фоне, нужно создать Javascript-файл и указать путь к нему в параметре «background» файла manifest.json. Этот скрипт может содержать функции обработчики различных событий браузера и жизненного цикла самого расширения. Background-скрипт слушает эти события и запускает написанные для них функции обработчики.
Однако в этом расширении мы этим пользоваться не будем и параметр «background» останется пустым. Он присутствует только для того, чтобы показать что это возможно и что данный файл manifest.json может использоваться для создания расширений любого типа. Однако расширение Image Grabber выполняет действия только когда пользователь нажимает кнопку «GRAB NOW» из интерфейса.
Соответственно мы создадим интерфейс для расширения. Интерфейс расширения это фактически Web-сайт, состоящий из HTML-страниц с элементами управления, CSS-таблиц стилей и скриптов, которые реагируют на события элементов управления из этих HTML-страниц и выполняют определенные действия, используя в частности API расширений Google Chrome.
Интерфейс должен содержать главную страницу, которая появляется при нажатии на кнопку расширения. Эта страница может появляться либо в новой вкладке браузера, либо внутри всплывающего окна, как было показано на видео. Именно так и будет реализован интерфейс Image Grabber. Чтобы создать интерфейс всплывающего окна, внесите следующие изменения в manifest.json:
< "name": "Image Grabber", "description": "Extract all images from current web page", "version": "1.0", "manifest_version": 3, "icons": < "16":"icons/16.png", "32":"icons/32.png", "48":"icons/48.png", "128":"icons/128.png" >, "action": < "default_popup":"popup.html" >, "permissions": [], "background":<> >
Здесь определено, что основное действие (action) расширения это всплывающее окно (popup), которое содержит страницу popup.html.
Теперь создайте файл popup.html с заголовком Image Grabber и кнопкой «GRAB NOW» и поместите его в папку с расширением:
Image Grabber Image Grabber
Кнопка имеет идентификатор grabBtn который в дальнейшем будет использоваться из скрипта, чтобы реагировать на нажатия.
Чтобы увидеть, что изменилось, снова обновите расширение в Chrome Extensions Manager. Если все было сделано как написано выше, то при нажатии на иконку расширения будет появляться содержимое файла popup.html во всплывающем окне:

Работает!! Но выглядит не очень. Теперь нужно стилизовать этот интерфейс с помощью CSS.
Создайте файл popup.css со следующим содержимым и поместите его в папку с расширением:
body < text-align:center; width:200px; >button
Этот файл определяет стили для кнопки и для body всей страницы: все содержимое выровнено по центру, а также, ширина содержимого будет 200 пикселей.
Добавьте ссылку на файл с этими стилями в popup.html:
Image Grabber Image Grabber
Теперь при нажатии на кнопку расширения появится стилизованный интерфейс:

Обратите внимание, что в данном случае не требовалось нажимать кнопку Reload, для того чтобы обновить расширение. Изменения в файлах web-интерфейса расширения начинают работать автоматически.
Чтобы придать интерфейсу завершенность, добавим JavaScript-код, который будет реагировать на нажатия кнопки «GRAB NOW«. Создайте файл popup.js в папке с расширением со следующим содержимым:
const grabBtn = document.getElementById("grabBtn"); grabBtn.addEventListener("click",() => < alert("CLICKED"); >)
и добавьте ссылку на этот файл в popup.html:
Image Grabber Image Grabber
Таким образом мы добавили событие onClick для кнопки с идентификатором «grabBtn«. Теперь, при нажатии на кнопку «GRAB NOW» в интерфейсе, должно появляться предупреждение «CLICKED».
В результате мы имеем такую файловую систему расширения:

Это все файлы, других больше добавлять не будем. Такую структуру можно использовать как базу для создания расширений Google Chrome с интерфейсом основанном на всплывающих окнах.
Теперь реализуем бизнес логику расширения: при нажатии на кнопку «GRAB NOW» расширение должно извлечь список путей ко всем картинкам текущей страницы в браузере и скопировать этот список в буфер обмена.
Функция «GRAB NOW»
Используя Javascript в расширении можно делать все то же самое, что и при использовании JavaScript на web-сайте, например открывать различные web-страницы из текущей или делать AJAX HTTP-запросы к различным серверам. Но в дополнении к этому, Javascript-код в расширении браузера может использовать различные API Chrome для взаимодействия с компонентами самого браузера. Большинство этих API доступно через пространство имен chrome . В частности, расширение Image Grabber будет использовать следующие API:
- chrome.tabs — Chrome Tabs API. Будет использоваться для доступа к активной вкладке браузера.
- chrome.scripting — Chrome Scripting API. Будет использоваться для внедрения кода JavaScript на web-страницу активной вкладки и для исполнения этого кода в контексте этой страницы.
Получение необходимых разрешений
По умолчанию, из соображений безопасности, расширение Chrome не имеет доступа ко всем API браузера. Необходимо запросить этот доступ через механизм разрешений. Для этого нужно указать список требуемых разрешений в параметре permissions в файле manifest.json. Существует множество различных разрешений, которые описаны здесь: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/. Для Image Grabber нужно указать следующие из них:
- activeTab — разрешение для получения доступа к текущей вкладке браузера.
- scripting — разрешение для получения доступа к Chrome Scripting API для исполнения скриптов в контексте Web-страницы, открытой в браузере.
Добавьте эти разрешения в параметр permissions в файле manifest.json:
< "name": "Image Grabber", "description": "Extract all images from current web page", "version": "1.0", "manifest_version": 3, "icons": < "16":"icons/16.png", "32":"icons/32.png", "48":"icons/48.png", "128":"icons/128.png" >, "action": < "default_popup":"popup.html", >, "permissions": ["scripting", "activeTab"], "background":<> >
и обновите расширение в Chrome Extensions Manager.
Между тем, листинг выше — это окончательный вариант файла manifest.json для расширения. Теперь здесь есть все: название, описание, версия, иконки, ссылка на главную страницу интерфейса и разрешения на доступ к браузеру, которые этому интерфейсу необходимы.
Получение информации об активной вкладке браузера
Для получения информации о вкладках браузера используется функция chrome.tabs.query , которая определена следующим образом:
chrome.tabs.query(queryObject,callback)
- queryObject — объект запроса в котором указываются параметры поиска нужных вкладок.
- callback — функция обратного вызова, которая выполняется после выполнения этого запроса. В нее передается массив tabs , содержащий все найденные вкладки, соответствующие критерию запроса. Каждый элемент этого массива — это объект типа Tab , содержащий информацию о вкладке, включая ее уникальный идентификатор. Этот идентификатор будет использоваться для исполнения Javascript-кода на этой вкладке.
Здесь я не буду полностью описывать синтаксис queryObject , а также все поля возвращаемых объектов Tabs . Эту информацию можно найти в официальной документации по chrome.tabs : https://developer.chrome.com/docs/extensions/reference/tabs/.
Для расширения Image Grabber нужно получить только активную вкладку. Для этой цели queryObject должен быть определен как: .
Теперь давайте изменим код обработчика нажатия кнопки grabBtn в popup.js чтобы он получал активную вкладку и ее идентификатор, когда пользователь нажимает на кнопку «GRAB NOW» в интерфейсе расширения:
const grabBtn = document.getElementById("grabBtn"); grabBtn.addEventListener("click",() => < chrome.tabs.query(, (tabs) => < const tab = tabs[0]; if (tab) < alert(tab.id) >else < alert("There are no active tabs") >>) >)
Этот код выполняет запрос ко всем вкладкам, которые активны. Может быть только одна такая вкладка, поэтому к ней можно обратиться как tabs[0] . Если такая вкладка существует, то функция отображает ее id, а если не существует, то показывает сообщение об ошибке.
Если все сделано как описано выше, то при нажатии кнопки GRAB NOW должен появляться идентификатор текущей вкладки браузера. Далее мы изменим этот код таким образом, чтобы этот идентификатор использовался для доступа к web-странице, открытой на этой вкладке.
Извлечение изображений из текущей страницы
Расширение может взаимодействовать с открытыми страницами с помощью интерфейса Chrome Scripting API, доступного через chrome.scripting . В частности, мы будем использовать функцию для внедрения своего кода в текущую web-страницу и для исполнения этого кода в ее контексте. При запуске этот код будет иметь доступ к DOM-дереву этой страницы и сможет делать нужные нам действия с любыми HTML-тэгами.
Для внедрения скрипта в страницу Web-браузера используется функция executeScript , определенная следующим образом:
chrome.scripting.executeScript(injectSpec,callback)
Рассмотрим ее параметры.
injectSpec
Это объект типа ScriptInjection. В нем определяется какой Javascript-код, в какую web-страницу и каким образом внедрить. В частности, в параметре target указывается идентификатор вкладки браузера со страницей, которая нам нужна. Мы получили его ранее. Остальные параметры указывают каким образом передать скрипт на эту страницу. Возможно использовать следующие параметры для передачи скрипта:
- files — указывается список путей к JS-файлам, которые нужно внедрить, относительно корневой папки расширения
- func — указывается Javascript-функция, которую нужно внедрить. Функция должна быть предварительно написана.
Скрипт, который планируется внедрить, будет извлекать список изображений с web-страницы и возвращать список URL этих изображений. Это небольшой скрипт, поэтому достаточно создать функцию для него. Она будет называться grabImages . Эта функция должна извлекать список URL изображений web-страницы и возвращать его. Возвращаемое значение этой функции будет передано расширению.
В итоге injectSpec будет определен следующим образом:
< target:< tabId: tab.id, allFrames: true >, func: grabImages, >,
Здесь функция, указанная в параметре func будет внедрена на страницу, определенную параметром target . В параметре target указывается полученный на предыдущем этапе идентификатор вкладки, а также, устанавливается параметр allFrames . Этот дополнительный параметр говорит что скрипт должен выполняться во всех фреймах web-страницы, в случае если они на этой странице есть.
Саму функцию grabImages мы напишем чуть позже.
callback
Это функция обратного вызова, которая будет вызвана после того, как внедренный скрипт исполнится на странице и во всех ее фреймах. В качестве параметра в ней будет массив результатов, которые вернула функция grabImages для каждого фрейма (возможно это будет всего один элемент, если фреймов нет). Каждый элемент этого массива — это объект типа InjectionResult. Он в частности содержит свойство result . Именно оно содержит то, что возвращает функция grabImages, т.е. список URL-ов.
Теперь соберем все вместе в следующем коде:
const grabBtn = document.getElementById("grabBtn"); grabBtn.addEventListener("click",() => < chrome.tabs.query(, function(tabs) < var tab = tabs[0]; if (tab) < chrome.scripting.executeScript( < target:, func:grabImages >, onResult ) > else < alert("There are no active tabs") >>) >) function grabImages() < // TODO - Запросить список изображений // и вернуть список их URL-ов >function onResult(frames) < // TODO - Объединить списки URL-ов, полученных из каждого фрейма в один, // затем объединить их в строку, разделенную символом перевода строки // и скопировать в буфер обмена >
Функция grabImages может быть определена следующим образом:
/** * Функция исполняется на удаленной странице браузера, * получает список изображений и возвращает массив * путей к ним * * @return Array массив строк */ function grabImages() < const images = document.querySelectorAll("img"); return Array.from(images).map(image=>image.src); >
Здесь все просто: получаем список DOM-элементов и извлекаем свойство src каждого из них в итоговый массив. Считаю нужным напомнить, что объект document , указанный в этой функции указывает на содержимое не той HTML-страницы, где находится функция grabImages , а удаленной web-страницы, в которую эта функция будет внедрена.
После того как данная функция выполнится в каждом фрейме, результаты будут объединены в единый массив и переданы в функцию onResult . Эта функция может быть определена следующим образом:
/** * Выполняется после того как вызовы grabImages * выполнены во всех фреймах удаленной web-страницы. * Функция объединяет результаты в строку и копирует * список путей к изображениям в буфер обмена * * @param <[]InjectionResult>frames Массив результатов * функции grabImages */ function onResult(frames) < // Если результатов нет if (!frames || !frames.length) < alert("Could not retrieve images from specified page"); return; >// Объединить списки URL из каждого фрейма в один массив const imageUrls = frames.map(frame=>frame.result) .reduce((r1,r2)=>r1.concat(r2)); // Скопировать в буфер обмена полученный массив // объединив его в строку, используя символ перевода строки // как разделитель window.navigator.clipboard .writeText(imageUrls.join("\n")) .then(()=>< // закрыть окно расширения после // завершения window.close(); >); >
Следует упомянуть что не все вкладки браузера — это вкладки с web-страницами. Например, может быть вкладка свойств браузера. Страницы на таких вкладках не имеют свойства document . В этом случае функция grabImages не выполнится и не вернет результатов. Этот случай обрабатывается в самом начале функции. Затем массив массивов результатов объединяется в единый плоский массив используя концепцию map/reduce, затем функция window.navigator.clipboard используется, чтобы скопировать его в буфер обмена. Предварительно массив результатов преобразовывается в строку, разделенную символом перевода строки.
Завершающие штрихи
Здесь я описал только незначительную часть Chrome Scripting API и описал только в контексте данного расширения. Полная документация по Chrome Scripting API доступна здесь: https://developer.chrome.com/docs/extensions/reference/scripting/.
Теперь немного почистим код. Здесь я считаю нужным часть функции обработчика grabBtn, которая выполняет chrome.scripting.executeScript вынести в отдельную функцию execScript . В результате файл popup.js выглядит так:
const grabBtn = document.getElementById("grabBtn"); grabBtn.addEventListener("click",() => < // Получить активную вкладку браузера chrome.tabs.query(, function(tabs) < var tab = tabs[0]; // и если она есть, то выполнить на ней скрипт if (tab) < execScript(tab); >else < alert("There are no active tabs") >>) >) /** * Выполняет функцию grabImages() на веб-странице указанной * вкладки и во всех ее фреймах, * @param tab Объект вкладки браузера */ function execScript(tab) < // Выполнить функцию на странице указанной вкладки // и передать результат ее выполнения в функцию onResult chrome.scripting.executeScript( < target:, func:grabImages >, onResult ) > /** * Получает список абсолютных путей всех картинок * на удаленной странице * * @return Array Массив URL */ function grabImages() < const images = document.querySelectorAll("img"); return Array.from(images).map(image=>image.src); > /** * Выполняется после того как вызовы grabImages * выполнены во всех фреймах удаленной web-страницы. * Функция объединяет результаты в строку и копирует * список путей к изображениям в буфер обмена * * @param <[]InjectionResult>frames Массив результатов * функции grabImages */ function onResult(frames) < // Если результатов нет if (!frames || !frames.length) < alert("Could not retrieve images from specified page"); return; >// Объединить списки URL из каждого фрейма в один массив const imageUrls = frames.map(frame=>frame.result) .reduce((r1,r2)=>r1.concat(r2)); // Скопировать в буфер обмена полученный массив // объединив его в строку, используя возврат каретки // как разделитель window.navigator.clipboard .writeText(imageUrls.join("\n")) .then(()=>< // закрыть окно расширения после // завершения window.close(); >); >
Заключение
Теперь, если нажать по иконке расширения Image Grabber и затем кликнуть кнопку GRAB NOW, то в буфере обмена будет список URL-ов всех изображений текущей web-страницы. Можно вставить его в любой текстовый редактор.
Для начала, возможно, неплохо, но практическая ценность такого расширения не велика. Поэтому в следующей части я покажу как выгрузить все эти изображения в виде zip-архива, а также, создать дополнительный интерфейс, для того чтобы выбрать какие картинки добавлять в этот ZIP-архив, а какие нет. Также опишу процесс публикации готового расширения в Chrome Store.
Поэтому подписывайтесь, думаю к концу следующей недели вторая часть будет доступна вместе с полным исходным кодом.
Вторая часть опубликована и доступна здесь.