воскресенье, 25 марта 2012 г.

Пишем плагин для поиска из контекстного меню в 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 (перед загрузкой обязательно проследите не реализован ли уже подобный плагин).

Комментариев нет:

Отправить комментарий