Могу ли я добавить параметры правого клика в Google Chrome?

18

В Google Chrome, если я выделю фрагмент текста и щелкну по нему правой кнопкой мыши, я получу возможность:

'Поиск в Google по [тексту]'

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

Например, я хотел бы добавить возможность поиска на amazon.co.uk по выбранному тексту или сразу перейти к картам Google, используя выбранный текст (например, адрес или почтовый индекс) и так далее.

Я могу добавить эту функцию с помощью PhraseExpress, но предпочел бы сделать это прямо из Chrome - возможно ли это?

andygrunt
источник

Ответы:

12

Вот расширение, которое использует 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.

gdejohn
источник
Да, я думаю, что это именно то, что я хочу - спасибо. Кстати, нужно добавить термин TESTSEARCH в ваши строки, чтобы использовать выбранное слово или фразу, и это прекрасно работает.
andygrunt
Я отредактировал свой ответ, чтобы отразить это.
gdejohn
15

В последнее время в Developer Developer доступен API-интерфейс Context Menus и бета-каналы. Вы можете использовать его, чтобы написать свои собственные расширения, которые добавляют опции в меню правой кнопки мыши. Обратите внимание, что это будет работать только для Google Chrome версии 6 и выше.

Вот пример из официальной галереи расширений:

  • Imgur Uploader (загрузите изображение в Imgur правой кнопкой мыши)

Я также написал три моих собственных, на основе этого кода:

  • TinEye Right Click (выполнить обратный поиск изображений в TinEye по правому клику)
  • Википедия правой кнопкой мыши (поиск статей о выделенном тексте в Википедии правой кнопкой мыши)
  • Merriam-Webster Щелкните правой кнопкой мыши (посмотрите определение выделенного текста в Merriam-Webster, щелкните правой кнопкой мыши)

Вы можете установить их на свой страх и риск, щелкнув правой кнопкой мыши ссылки, выбрав Сохранить ссылку как… , найдя файлы на своем компьютере и перетащив их в окно 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, просмотрите в режиме разработчика (я думаю, что для этого нужно запустить бета-канал или выше), нажмите « Упаковать расширение» , рядом с корневым каталогом расширения нажмите « Обзор» , найдите и выберите созданную папку, нажмите « ОК» и перетащите полученный файл .crx в окно Google Chrome.

gdejohn
источник
Спасибо за этот шарлатан. Я слышал о новом API, но ждал, пока не найду расширение, которое выполнит мои пожелания, прежде чем публиковать его здесь в качестве окончательного ответа. Я очень сомневаюсь, что попытаюсь сделать свой собственный, потому что есть люди намного лучше, чем я. Возможно, автор расширения 'Context Search' перепишет его, чтобы использовать новый API.
andygrunt
Пожалуйста. Это действительно очень легко адаптировать приведенные выше примеры для других сайтов. Все, что вам нужно сделать, чтобы заставить его работать, это изменить URL. Все остальное просто делает его красивым. Я отредактировал код в своем ответе, чтобы искать в Картах Google. Нужно было только изменить пять вещей.
gdejohn
Обратите внимание, что есть некоторые изменения в расширениях Chrome, а именно, что manifest.jsonтеперь это версия 2, и многое из этого изменилось.
Джейсон
Ваши ссылки на Dropbox не работают. Готовы обновить?
Боб Хопез
@BobHopez Эти расширения больше не работают со всеми изменениями в Chrome за последние девять лет.
gdejohn
5

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

whitequark
источник
Отлично. Это делает 99% того, что я хочу. Как вы говорите, он не добавляет опции в контекстное меню, но, что более важно, он не работает везде, например, напишите что-нибудь в поле поиска Google, выберите его, и кнопка не появится. Я все еще хотел бы услышать, возможно ли добавить опции в меню, вызываемое правой кнопкой мыши, но это будет полезно для продолжения. Благодарю.
andygrunt
На самом деле, нет способа добавить параметры в собственные меню Chrome (например, меню «Параметры» в правом верхнем углу), поскольку расширения могут настраивать только DOM и отображать всплывающие окна. Вероятно, это был намеренный выбор для достижения лучшей кроссплатформенной совместимости.
whitequark
1
Это одна из причин, по которой я придерживаюсь Firefox.
CGA
@CGA: Firefox хорош, и я использовал его годами, но он слишком запутан на нетбуке Atom 2x1600.
Уайткварк
Не могу с вами не согласиться.
CGA
1

Я наслаждаюсь расширением под названием « Custom Right-Click Menu», которое позволяет вам создавать полностью настраиваемые пункты меню, вызываемые правой кнопкой мыши, и даже работает в других браузерах (Opera: Установить расширения Chrome , Firefox: Chrome Store Foxified ).

  • Установите «Пользовательское меню правого клика» в Chrome Store
  • Откройте параметры для пользовательского меню правого клика
  • В разделе «Редактирование CRM» выберите «Выбор».
  • Прокрутите вниз до часто используемых поисковых систем и добавьте
  • Он добавляет эту поисковую систему в раздел «Редактирование CRM».
  • Нажмите на него, а не на его механизм, чтобы отредактировать его.
  • Измените имя на «Поиск amazon.co.uk» или любое другое
  • Измените код на

    var query;
    var url = "https://www.amazon.co.uk/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=%s";
    if (crmAPI.getSelection()) {
        query = crmAPI.getSelection();
    } else {
        query = window.prompt('Please enter a search query.');
    }
    if (query) {
        window.open(url.replace(/%s/g,query), '_blank');
    }
    
  • Создайте еще один пункт меню типа скрипта, назовите его «Google Map» или как-то еще и закодируйте его таким же образом:

    var query;
    var url = "https://www.google.com/maps/search/%s";
    if (crmAPI.getSelection()) {
        query = crmAPI.getSelection();
    } else {
        query = window.prompt('Please enter a search query.');
    }
    if (query) {
        window.open(url.replace(/%s/g,query), '_blank');
    }
    
undrline
источник
0

Существует расширение под названием «Поиск по контекстному меню». Он позволяет добавлять URL-адреса к нему, а затем, когда вы выбираете текст и щелкаете по одному из URL-адресов, он передает этот текст URL-адресу, по которому вы щелкнули.

Например, поисковый URL для YouTube:

http://www.youtube.com/results?search_query=TESTSEARCH

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

Вот ссылка на расширение.

https://chrome.google.com/webstore/detail/ocpcmghnefmdhljkoiapafejjohldoga

Амджад Абу Саа
источник
0

Привет, так как на главный вопрос ответили, я хочу чем-то помочь.

Это просто модифицированный скрипт, похожий на обратный поиск изображений в Google, но перенаправляющий imglink.jpg в Exif Viewer Джеффри для анализа EXIF ​​изображения.

Благодаря Гдейону .

Просто создайте эти 2 файла. Я использовал блокнот, добавил значки 16x16, 48x48 и 128x128 (или удалил строку) и перейдите в режим chrome: // extensions / tick developer, чтобы добавить папку с файлами.

Имя файла: manifest.json

{
"manifest_version": 2,
    "background" : { "scripts": ["background.js"] },
    "description": "Agrega un menu contextual para ver el EXIF de imagenes. Jeffrey's Exif Viewer",
    "icons": {
            "16": "icon16.png",
            "48": "icon48.png",
            "128": "icon128.png"
        },
   "minimum_chrome_version": "6",
   "name": "Regex Exif Viewer Right Click",
   "permissions": [ "contextMenus", "tabs", "http://*/*",
 "https://*/*" ],
   "version": "1.0"
}

Имя файла: background.js

/**
 * Returns a handler which will open a new tab when activated.
 */


function getClickHandler() {
  return function(info, tab) {

    // The srcUrl property is only available for image elements.

var url = "http://regex.info/exif.cgi?imgurl=" + info.srcUrl;

    // Create a new tabto the info page.

chrome.tabs.create({ url: url, });
  };
};



/**
 * Create a context menu which will only show up for images.
 */


chrome.contextMenus.create({
  "title" : "Get image info via Jeffrey's Exif Viewer",
  "type" : "normal",
  "contexts" : ["image"],
  "onclick" : getClickHandler()
});
Pablo
источник