Как сделать чтобы расширение работало только на одном сайте

Добавил пользователь Евгений Кузнецов
Обновлено: 19.09.2024

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

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

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

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

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

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

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

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

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

manifest_version – целое число, обозначает версию формата манифеста. Для современных версий браузера значение равно 2;

name – название расширения, до 45 символов. К названию стоит подойти ответственно – оно отображается в магазине, при установке и на странице управления расширениями (chrome://extensions);

description – простой текст, до 132 символов. Отображается в магазине и на странице управления расширениями;

icons – список из иконок расширения;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И всё это ради 5 (3) строк кода?

И всё это ради 5 (3) строк кода?
Всё это ради решения проблемы. В данном случае получилось решить её с помощью нескольких строк кода.

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

мне хотелось самому написать расширение

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

Да, понимаю.
Кстати, если бы вы описывали пошагово создание расширения, какую задачу выбрали бы для иллюстрации?

Скорее всего я бы выбрал вариант автономного приложения с использованием сетевого API бесплатных сервисов (чтобы это смог повторить каждый), либо просто парсинга, с информативной иконкой с числовым показателем и уведомлениями (Notifications API).

Идеальным вариантом для демонстрации, как мне кажется, было бы расширение для мониторинга конкретной информации (входящие e-mail, доступные билеты, баланс на счёте, начало трансляций и так далее) с информативными image/text-уведомлениями.

Это не требует много кода, но функционал используемых API очень показателен и информативен, который в последствии можно универсально применить под свои нужды.

Ага, примерно так я первое расширение для Pyrus написал в 2013 году )))

UPD. Расширение опубликовано в Chrome Web Store. На почту никакое уведомление не приходило, поэтому сложно сказать, сколько времени заняла проверка.

Apple получила первый штраф на €5 млн в Нидерландах за отсутствие альтернативных способов оплаты в App Store Статьи редакции

Компания должна была добавить альтернативные способы оплаты до 15 января.

Как настроить автоматическое открытие нужного сайта при запуске компьютера? Обычно пользователи компьютеров заботятся о том, чтобы у них при загрузке Windows не выскакивали сами по себе левые сайты. Но в каких-то случаях может стать необходимость и в обратном действе. Например, в корпоративных или образовательных целях. Или же нам самим может потребоваться автоматизация захода на определённые сайты.

Это можно использовать для креативных поздравлений: выложить в сети поздравительные пост, видео или трек и сделать так, чтобы веб-страница с поздравлением сама открылась при включении виновником торжества компьютера.

Есть несколько способов выполнить эту задачу в среде Windows 7, 8.1 и 10, каждый из способов со своими особенностями, более или менее подходящими в том или ином случае.

Настройка сайтов в браузере и его автозагрузка

Простейший способ настроить автоматическое открытие нужных сайтов при запуске компьютера – в настройках браузера установить открытие сайтов при запуске браузера, а его самого добавить в автозагрузку Windows.

Идём в настройки запуска браузера, устанавливаем, чтобы при запуске открывались заданные страницы. И добавляем какие нам нужно сайты.

На примере браузера Chrome это выглядит вот так.

Chrome

Далее жмём клавиши Win + R , вписываем:

shell:Startup

Это быстрый способ открытия папки автозагрузки Windows.

Выполнить

И копируем в эту папку ярлык браузера, чтобы он запускался автоматически сразу же после загрузки Windows.

Автозагрузка

Способ прост, но будет работать только для одного браузера – того, в котором мы выполнили настройки.

Сайт в объекте ярлыка браузера и автозагрузка последнего

Другой способ, как настроить автоматическое открытие нужного сайта при запуске компьютера – также добавить браузер в автозагрузку, но нужный сайт прописать не в настройках запуска браузера, а в его ярлыке.

Способ также работает для каждого браузера в отдельности, но он примечателен своей скрытостью. И будет актуален для случаев, когда нам нужно, чтобы сайт с автозапуска никто не убрал. Так, настройка открываемых вкладок или сайтов при запуске браузеров – задача уровня новичков. А вот идея посмотреть свойства ярлыка запуска браузера придёт не каждому в голову, разве что такой человек уже боролся с хайджекерами или прочим вредоносным софтом.

Контекстное меню ярлыка

Открытие расположения файла

Объект

Теперь при каждом запуске браузера этот сайт будет открываться автоматически. И важно: если браузер запускается с ярлыка на панели задач, такой ярлык нужно убрать и поместить на панель задач тот, что мы отредактировали и внесли в туда адрес сайт.

Ярлык на панели задач

Батник запуска сайта в автозагрузке

Создать

Вносим в блокнот запись типа:

Но вместо адреса Google после start и пробела каждый подставляет адрес своего сайта.

Запуск сайта

Если надо, чтобы автоматически открывалось несколько сайтов, просто с новой строки добавляем команды запуска с адресами других сайтов. Сохраняем документ. Далее активируем в проводнике отображение расширений.

Отображение расширений

Переименовываем расширение документа

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

Батник запуска сайта в планировщике заданий

Этот же батник можно настроить на срабатывание при запуске компьютера с помощью планировщика заданий Windows. В таком случае у нас будут гораздо шире возможности. Мы сможем настроить запуск батника для любого из пользователей компьютера или вообще для всех. И сможем настроить запуск батника не только на включение, но на любое иное событие компьютера. Как и сможем настроить запуск батника по плану в определённое время.

Заходим в планировщик заданий, для этого просто вписываем его название в системный поиск.

Планировщик заданий

Создать задачу

Триггеры

Начать задачу

Параметры

Действия

Путь к батнику

Сегодня расскажу о плагинах и расширениях. Зачастую все эти модули называют одинаково, но между ними огромное различие.

Плагины

Они являются компонентами браузера. Некоторые из них не просто желательны, а абсолютно необходимы, поскольку при их отсутствии часть содержимого страниц просто не будет отображаться.

Наиболее яркий пример такого плагина — Adobe Flash Player. Если он не установлен, то вы не увидите значительную часть содержимого веб-страниц. Вторым примером является поддержка открытия PDF непосредственно в окне браузера.

Устанавливать дополнительные плагины вы не можете. Их набор и функционал обновляются только вместе с программой. Таким образом, если вы знаете, что в браузере не хватает какого-то важного плагина, который есть у других, необходимо установить самую свежую версию софта.

Расширения и дополнения

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

С годами эти браузерные программы стали настолько удобными и функциональными, что порой могут заменить собой устанавливаемые в операционную систему приложения. В особенности они будут вам полезны, если какие-то задачи приходится выполнять нечасто и ставить для них специальный софт не хотелось бы. Рассматриваемые модули в Сети называют и расширениями и дополнениями. К примеру, в Яндекс.Браузере речь идет о дополнениях, а в Opera уже о расширениях. Хотя каталог софта у этих браузеров общий.

Расширения в Google Chrome

Перейти к настройкам плагинов вы можете через меню браузера:

[Дополнительные инструменты] → [Расширения]

или путем перехода по введенному в адресной строке адресу:

chrome://extensions/


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


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


Слева располагается список категорий.


Но если вы знаете, какое расширение вам необходимо, лучше обратиться к поисковой строке, поскольку перечень трудно назвать подробным. Здесь вы найдете даже игры. К примеру, несколько версий самой популярной игры в истории компьютеров — Тетриса.


Разумеется, ожидать от браузерных игр многого не приходится. Но и они вполне могут быть полезны для того, чтобы с удовольствием провести несколько свободных минут.


Вам будет предложено подтвердить свое решение об инсталляции данного софта.


Когда он установлен, на его странице у вас появляется кнопка, предлагающая удалить программный инструмент.


Здесь вы найдете немало программ, которые помогут вам составлять списки задач, преобразовывать файлы одного формата в другой и расширить функционал браузера.

Расширения в Яндекс.Браузере

Перейти к дополнениям (так называются расширения в Яндекс.Браузере) этого популярнейшего браузера вы сможете, если введете в адресной строке:

browser://tune


Внизу списка установленных дополнений есть кнопка, предлагающая перейти в каталог расширений.


Им является подборка расширений для другого известного браузера — Opera. Эти дополнительные модули совместимы с браузером от Яндекс.



Расширения в Opera


Во всем остальном вы сможете устанавливать расширения так же, как и дополнения для Яндекс.Браузера и из того же источника. Его я уже рассмотрел выше.

Доброго времени суток!

Довольно часто при серфинге встречается ошибка с невозможностью получения доступа к сайту (как на примере ниже 👇) . Возникать она может по разным причинам: отсутствие интернет-соединения, проблема с DNS, заражение системы рекламным ПО и т.д.

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

Пример ошибки

Пример ошибки: "Не удается получить доступ к сайту" (в браузере Chrome)

Причины и решение

1) Сервер, на котором расположен сайт, не отвечает. Отсутствует доступ к интернет

Наиболее распространенная причина подобной ошибки — это либо отсутствие доступа к интернет на вашем ПК (например, роутер мог разорвать связь, временные проблемы у провайдера и пр.), либо сервер, на котором расположен сайт, в данный момент не отвечает.

И в том, и в другом случае, попробуйте открыть другие сайты — работают ли они? Благодаря такому простому "вопросу" можно узнать и проверить работоспособность своей сети и конкретного сервера. Если у вас показывается подобная ошибка лишь на одном сайте — просто попробуйте открыть его позже (периодически, у большинства серверов бывают проблемы с доступностью) .

2) Проблема с DNS (корректируем настройки подключения)

Вообще, рекомендуется прописать в настройках DNS от Google или Yandex (они гораздо стабильнее, быстрее и надежнее, чем у большинства Интернет-провайдеров). По крайней мере, хотя бы для проверки — рекомендую попробовать изменить DNS.

Как это сделать:

    нажать сочетание кнопок Win+R , и ввести команду ncpa.cpl (чтобы открыть сетевые подключения);

ncpa.cpl — просмотр всех сетевых подключений

ncpa.cpl — просмотр всех сетевых подключений

Свойства беспроводного адаптера

Свойства беспроводного адаптера

Свойства IP версии 4

Свойства IP версии 4

Использовать следующие адреса DNS

Использовать следующие адреса DNS

3) Сайт недоступен из вашей страны

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

Самый простой способ проверить так ли это — воспользоваться VPN (например, в браузере Opera есть встроенный VPN — включается в настройках браузера, см. скриншот ниже).

Opera - Vpn

4) Вирус изменил файл HOSTS

Нередко, когда вирусы или рекламное ПО блокирует доступ к определенным сайтам (например, чтобы вы не могли пользоваться соц. сетями, чтобы не могли зайти на сайты популярных антивирусов и т.д.). К тому же, часто подобные вирусы с помощью системного файла HOSTS изменяют реальный адрес сайта на фейковый.

Самый простой и надежный способ восстановить системный файл HOSTS — это воспользоваться антивирусной утилитой AVZ (к тому же, с ее помощью можно "закрыть" множество дыр в системе, проверить на вирусы и рекламное ПО свою систему) .

Чтобы восстановить HOSTS — запустите AVZ, откройте меню "Файл/Восстановление системы" .

Восстановление системы с помощью AVZ

Восстановление системы с помощью AVZ

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

Восстановление HOST, настроек IE и пр.

Восстановление HOST, настроек IE и пр.

Кроме этого, рекомендую в меню "Файл" также открыть "Мастер поиска и устранения проблем" . С его помощью вы сможете "закрыть" не оптимальные настройки системы, которые потенциально могут угрожать вашей безопасности (см. пример ниже).

Мастер поиска и устранения проблем

Мастер поиска и устранения проблем

5) Отключаем работу прокси-серверов, брандмауэра

Если у вас в настройках браузера (системы) включен прокси-сервер, то это может стать причиной появления различных проблем при работе в сети. В Chrome чтобы проверить настройки прокси — необходимо зайти в параметры и посмотреть раздел "Система" .

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

Настройка прокси-сервера

В Windows 10/11 откройте ПУСК/Параметры/Сеть и Интернет/Прокси и проверьте, чтобы переключатель "Использовать прокси-сервер" стоял в положении "Откл." .

Прокси сервер откл.

Прокси сервер откл.

6) Сброс кэша DNS и Winsock

В некоторых случаях проблемой с отображением страничек в Google Chrome может стать сбой в работе сетевых служб. Чтобы сбросить их параметры, необходимо для начала открыть командную строку от имени администратора. Для этого:

  1. нажмите сочетание кнопок Ctrl+Shift+Esc (или Ctrl+Alt+Del);
  2. в открывшемся диспетчере задач нажмите "Файл/запустить новую задачу" ;
  3. введите с строку "открыть" команду CMD и отметьте галочкой, что задача должна быть от имени администратора;
  4. нажмите OK.

Запуск командной строки с правами администратора

В открывшейся командной строке необходимо ввести две команды:

  1. ipconfig /flushdns (и нажмите клавишу Enter). Будет выполнен сброс DNS кэша Windows;
  2. netsh winsock reset (и нажмите клавишу Enter). Будет выполнен сброс настроек Winsock. Примеры представлены ниже. Выполнять команды необходимо последовательно.

Сброс кэш DNS в командной строке

Сброс кэш DNS в командной строке

После чего, перезагрузите компьютер (ноутбук) и проверьте работоспособность браузера (всплывет ли снова подобная ошибка?).

7) Обратитесь к своему Интернет-провайдеру

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

Читайте также: