Как сделать чтобы расширение работало только на одном сайте
Добавил пользователь Евгений Кузнецов Обновлено: 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 это выглядит вот так.
Далее жмём клавиши 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 — просмотр всех сетевых подключений
Свойства беспроводного адаптера
Свойства IP версии 4
Использовать следующие адреса DNS
3) Сайт недоступен из вашей страны
Возможно, что сайт, который вы хотите посетить, недоступен из вашей страны (наверное, многие помнят, как ошибочно в нашей стране блокировали соц. сеть ВК) .
Самый простой способ проверить так ли это — воспользоваться VPN (например, в браузере Opera есть встроенный VPN — включается в настройках браузера, см. скриншот ниже).
4) Вирус изменил файл HOSTS
Нередко, когда вирусы или рекламное ПО блокирует доступ к определенным сайтам (например, чтобы вы не могли пользоваться соц. сетями, чтобы не могли зайти на сайты популярных антивирусов и т.д.). К тому же, часто подобные вирусы с помощью системного файла HOSTS изменяют реальный адрес сайта на фейковый.
Самый простой и надежный способ восстановить системный файл HOSTS — это воспользоваться антивирусной утилитой AVZ (к тому же, с ее помощью можно "закрыть" множество дыр в системе, проверить на вирусы и рекламное ПО свою систему) .
Чтобы восстановить HOSTS — запустите AVZ, откройте меню "Файл/Восстановление системы" .
Восстановление системы с помощью AVZ
Далее в списке отметьте галочками те параметры и настройки, которые необходимо восстановить (рекомендую сделать так, как отмечено на скрине ниже). После нажмите на кнопку "Выполнить отмеченные операции" .
Восстановление HOST, настроек IE и пр.
Кроме этого, рекомендую в меню "Файл" также открыть "Мастер поиска и устранения проблем" . С его помощью вы сможете "закрыть" не оптимальные настройки системы, которые потенциально могут угрожать вашей безопасности (см. пример ниже).
Мастер поиска и устранения проблем
5) Отключаем работу прокси-серверов, брандмауэра
Если у вас в настройках браузера (системы) включен прокси-сервер, то это может стать причиной появления различных проблем при работе в сети. В Chrome чтобы проверить настройки прокси — необходимо зайти в параметры и посмотреть раздел "Система" .
В этом разделе должна быть ссылка на настройки прокси-сервера (просто выключите его, если есть расширения, отвечающие за его работу - отключите/удалите их также).
В Windows 10/11 откройте ПУСК/Параметры/Сеть и Интернет/Прокси и проверьте, чтобы переключатель "Использовать прокси-сервер" стоял в положении "Откл." .
Прокси сервер откл.
6) Сброс кэша DNS и Winsock
В некоторых случаях проблемой с отображением страничек в Google Chrome может стать сбой в работе сетевых служб. Чтобы сбросить их параметры, необходимо для начала открыть командную строку от имени администратора. Для этого:
- нажмите сочетание кнопок Ctrl+Shift+Esc (или Ctrl+Alt+Del);
- в открывшемся диспетчере задач нажмите "Файл/запустить новую задачу" ;
- введите с строку "открыть" команду CMD и отметьте галочкой, что задача должна быть от имени администратора;
- нажмите OK.
Запуск командной строки с правами администратора
В открывшейся командной строке необходимо ввести две команды:
- ipconfig /flushdns (и нажмите клавишу Enter). Будет выполнен сброс DNS кэша Windows;
- netsh winsock reset (и нажмите клавишу Enter). Будет выполнен сброс настроек Winsock. Примеры представлены ниже. Выполнять команды необходимо последовательно.
Сброс кэш DNS в командной строке
После чего, перезагрузите компьютер (ноутбук) и проверьте работоспособность браузера (всплывет ли снова подобная ошибка?).
7) Обратитесь к своему Интернет-провайдеру
Ну и последнее, что порекомендую, если все вышеперечисленное не помогло — обратитесь к своему Интернет-провайдеру. Возможно, что проблема на его стороне.
Читайте также: