В Google Chrome, если я выбираю часть текста и щелчка правой кнопкой по нему, я получаю опцию к:
'Поисковый Google для [текста]'
Я нахожу это чрезвычайно полезным, но я также хотел бы смочь добавить свои собственные опции.
Например, я хотел бы добавить способность искать amazon.co.uk использование выделенного текста или перейти прямо к картам Google с помощью выделенного текста (т.е. адрес или почтовый индекс) и так далее.
Я могу отсортировать, добавляет это использование функциональности PhraseExpress, но смогло бы сделать это прямо от Chrome - действительно ли это возможно?
Вот расширение, которое использует Контекстные меню API для добавления опций к меню правой кнопки для выделенного текста и позволяет Вам определить свои собственные поиски.
Попробовать http://maps.google.com/maps?q=TESTSEARCH
для Google Maps и http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCH
для Amazon.co.uk.
Существует расширение Поиска Контекста, которое делает то, что Вы хотите за исключением, что оно ничего не добавляет к меню правой кнопки; вместо этого, после выбора блока текста на странице он покажет маленькую кнопку с синим треугольником рядом с ним, и нажатие на него вытолкает меню.
Существует Контекстные меню API, доступный в разработчике и бета каналах с недавно. Можно использовать его для записи собственных расширений, которые добавляют опции к меню правой кнопки. Обратите внимание, что это будет только работать на версию 6 Google Chrome и выше.
Вот пример из официальной галереи расширений:
Я также записал три моих собственных, на основе того кода:
Можно установить тех, которые на Ваш собственный риск путем щелчка правой кнопкой по ссылкам, нажатия на Save Link As …, нахождения файлов на компьютере и перетаскивания их в окно Google Chrome.
Читайте о API здесь:
Для записи собственного Вам нужен manifest.json файл, который должен выглядеть примерно так:
{
"background_page": "background.html",
"description": "Add a context menu item to search for selected text at Google Maps.",
"icons": {
"16": "icon16.png",
"48": "icon48.png"
},
"minimum_chrome_version": "6",
"name": "Google Maps Right Click",
"permissions": [ "contextMenus", "tabs" ],
"version": "1.0"
}
Вам также нужен файл background.html, который должен выглядеть примерно так:
<script>
function searchgooglemaps(info)
{
var searchstring = info.selectionText;
chrome.tabs.create({url: "http://maps.google.com/maps?q=" + searchstring})
}
chrome.contextMenus.create({title: "Search Google Maps", contexts:["selection"], onclick: searchgooglemaps});
</script>
Наконец, у Вас должно быть, по крайней мере, значок 16 × 16 пикселей для контекстного меню и значок 48 × 48 пикселей для страницы управления расширениями. Можно также указать значок 128 × 128 пикселей, который показывают во время установки и значка 32 × 32 пикселя, если Вы хотите отправить свое расширение официальной галереи. Все Ваши значки должны быть перечислены в manifest.json. Удостоверьтесь типы файлов и имена совпадают.
Поместите значки, background.html, и manifest.json в папке вместе, затем перейдите к странице управления расширениями в chrome://extensions
, посмотрите под режимом Developer (я думаю, что необходимо выполнять бета канал или выше чтобы это обнаружилось), нажмите на расширение Pack …, рядом с Дополнительным корневым каталогом нажимают Browse …, определяют местоположение и выбирают папку, которую Вы сделали, нажмите "OK" и перетащите получающийся .crx файл в свое окно Google Chrome.