Чи можна додати параметри клацання правою кнопкою миші в Google Chrome?


18

У Google Chrome, якщо я вибираю фрагмент тексту та клацаю правою кнопкою миші на ньому, я отримую можливість:

"Шукати в Google [текст]"

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

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

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

Відповіді:


12

Ось розширення, яке використовує API контекстних меню для додавання параметрів у меню правої кнопки миші для вибраного тексту та дозволяє визначати власні власні пошукові пошуки.

Спробуйте http://maps.google.com/maps?q=TESTSEARCHдля Карт Google і http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCHдля Amazon.co.uk.


Так, я думаю, що це робить саме те, що я хочу - дякую. До речі, вам потрібно додати термін TESTSEARCH у своїх рядках, щоб використовувати вибране слово чи фразу, і це чудово працює.
andygrunt

Я відредагував свою відповідь, щоб це відобразити.
gdejohn

15

API для контекстних меню доступний у програмах розробників та бета-версії останнім часом. Ви можете використовувати його для написання власних розширень, які додають параметри до меню правої кнопки миші. Зауважте, що це працюватиме лише для Google Chrome версії 6 та новішої.

Ось приклад з офіційної галереї розширень:

Я також написав три власні, виходячи з цього коду:

Ви можете встановити їх на свій страх і ризик, клацнувши правою кнопкою миші, клацніть Зберегти посилання як… , знайти файли на своєму комп’ютері та перетягнути їх у вікно 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.


Дякую за це Шарлатану. Я чув про новий API, але чекав, поки знайшов розширення, яке виконало мої бажання, перш ніж опублікувати його як остаточну відповідь. Я дуже сумніваюся, що я спробую зробити своє, оскільки для цього є набагато кращі люди, ніж я. Можливо, автор розширення "Контекстний пошук" перепише його для використання нового API.
andygrunt

Ласкаво просимо. Адаптувати вищенаведені приклади для інших сайтів дуже просто. Все, що вам потрібно зробити, щоб це працювало - це змінити URL-адресу. Все інше просто робить його гарним. Я відредагував код у своїй відповіді, щоб працювати над пошуком Карт Google. Тільки довелося змінити п’ять речей.
gdejohn

Зауважте, що в хромових розширеннях є деякі зміни, а саме те, що manifest.jsonзараз версія 2, і багато цього матеріалу змінилося.
Джейсон

Ваші посилання на Dropbox порушені. Хочете оновити?
Боб Хопез

@BobHopez Ці розширення більше не працюють із усіма змінами в Chrome за останні дев'ять років.
gdejohn

5

Існує розширення пошуку контексту, яке робить те, що ви хочете, за винятком того, що нічого не додає до меню правої кнопки миші; натомість, після вибору фрагмента тексту на сторінці, на ньому з’явиться невелика кнопка із синім трикутником поруч, а натискання на неї з’явиться меню. alt текст


Відмінно. Це робить 99% того, що я хочу. Як ви кажете, він не додає параметри до меню правою кнопкою миші, але, що ще важливіше, він працює не скрізь, наприклад, щось записуйте у вікно пошуку Google, виберіть його та кнопка не з’явиться. Я все ще хотів би почути, чи можна додати параметри до меню правою кнопкою миші, але це буде робити з цим. Спасибі.
andygrunt

AFAIK немає способу додавати параметри до рідних меню Chrome (наприклад, меню "Параметри" вгорі праворуч), оскільки розширення можуть налаштувати лише DOM та відображати спливаючі вікна. Можливо, це був навмисний вибір для досягнення кращої сумісності між платформами.
whitequark

1
Це одна з причин, що я дотримуюся Firefox.
CGA

@CGA: Firefox - це приємно, і я ним користувався роками, але він занадто нестабільний на нетбуку Atom 2x1600.
whitequark

Не можу погодитися з вами там.
CGA

1

Мені подобається розширення під назвою Спеціальне меню клацання правою кнопкою миші, яке дозволяє створювати повністю настроювані елементи меню правою кнопкою миші та навіть працює в інших браузерах (Opera: Встановити розширення Chrome , Firefox: Chrome Store Foxified ).

  • Встановіть "Спеціальне меню клацання правою кнопкою миші" з магазину Chrome
  • Відкрийте Параметри спеціального меню правої кнопки миші
  • У розділі Редагування 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" чи будь-який інший код та вкажіть його таким же чином:

    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');
    }
    

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 Jeffrey для аналізу EXIF ​​зображення.

Завдяки gdejohn .

Легко, створіть ці 2 файли. Я використав блокнот, додайте кілька значків 16x16, 48x48 та 128x128 (або видаліть рядок) та перейдіть до chrome: // розширень / галочок для розробника, додайте папку, що містить файли.

Ім'я файлу: 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()
});
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.