Pull to refresh

Пишем плагин для поиска из контекстного меню в Google Chrome

В этой статье я расскажу вам как сделать несложный плагин для вашего любимого Google Chrome.
Плагин добавит любую поисковую систему в контекстное меню Google Chrome.
Создаем папку hello_world(или любое другое название), а в ней текстовый документ manifest.json и печатаем туда следующий код:

{
"update_url":"http://clients2.google.com/service/update2/crx",
"name": "Поиск в (название ресурса) из контекстного меню",
"version": "1.0.0", "description": "Это расширения позволяет искать в (название ресурса) используя контекстное меню",
"permissions" : [
"http://*",
"http://*/*",
"https://*",
"https://*/*",
"contextMenus"
],
"icons": {
"16" : "16.png", Иконки
"32" : "32.png", Нашего
"48" : "48.png", Любимого
"128" : "128.png" Сайта
},
"background_page": "background.html",
"content_security_policy": "default-src 'self'"
}


Далее создаем файлы background.html и code.js и пишем в них следующее:

В background.html:


В code.js:

function search (info, tab) {
window.open('Наша поисковая ссылка'+info.selectionText);
};

chrome.contextMenus.create({
'title': 'Искать в (название ресурса)',
'contexts':['selection'],
'onclick': search
});


Где взять поисковую ссылку спросите вы. Так как я являюсь пользователем Google Chrome я расскажу вам как добыть ссылки из него. Идём на наш любимый ресурс или поисковик. Для примера пусть это будит habrahabr. Нажимаем правой кнопкой мыши по поисковому полю и в контекстном меню выбираем «Добавить как поисковую систему...». В открывшемся окне мы увидим три поля «Имя», «Ключивое слово», «URL». Нас интересует поле «URL». Из этого поля мы должны скопирвать всё что находится до %s и вставить в code.js
Вот несколько примеров ссылок для вставки в code.js:

www.youtube.com/results?search_query= (поиск по youtube)
rutracker.org/forum/tracker.php?nm= (поиск по rutracker)
market.yandex.ru/search.xml?text= (поиск по yandex market)
habrahabr.ru/search/?q= (поиск по habrahabr)
music.yandex.ru/#!/search?text=(поиск по yandex music)
maps.yandex.ru/?text= (поиск по yandex maps)
www.wolframalpha.com/input/?i= (поиск по wolframalpha)
www.ozon.ru/?context=search&text= (поиск по ozon)
www.kinopoisk.ru/index.php?first=no&what=&kp_query= (поиск по kinopoisk)
yandex.ru/yandsearch?text= (поиск по yandex)

Теперь нам надо скачать иконки к нашему расширению и назвать для удобства соответственно их разрешению — 16,32,48 и 128. Существует куча сайтов предоставляющих паки иконок всевозможных разрешений. Найти эти сайты вам поможет ваша любимая поисковая система.
Теперь нам остаётся только добавить приложение в Google Chrome. Для этого захожим в Меню- Инструменты-Расширения и ставим галочку рядом с Режим разработчика. Нажимаем Загрузить распакованное расширение и выбираем нашу папку hello_world. Вот и всё наш плагин готов к работе и при желании его можно загрузить в Chrome Webstore (перед загрузкой обязательно проследите не реализован ли уже подобный плагин).
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.