Контекстные меню в расширениях Chrome

Я искал и искал решение для этого, но каждый источник, с которым я сталкиваюсь, полагает, что у меня уже есть глубокое знание расширений Chrome, даже страниц справки Google.

Я знаю самые основы расширений Chrome, и я сделал один с некоторыми базовыми сценариями контента. Тем не менее, теперь я ищу сделать один, который включает контекстные меню.

Скажем, когда вы выделяете слова и щелкаете их правой кнопкой мыши, вы видите опцию Search '<highlighted words>' on Google, а при нажатии открывается http://www.google.com/search?q=<highlighted words> на новой вкладке. Я знаю, что это существует в Chrome, и я уверен, что существует миллиард расширений, реплицирующих его, но это всего лишь пример для меня.

Как я могу это сделать?

Ответы

Ответ 1

Script должен выглядеть следующим образом:

function getword(info,tab) {
  console.log("Word " + info.selectionText + " was clicked.");
  chrome.tabs.create({  
    url: "http://www.google.com/search?q=" + info.selectionText,
  });           
}
chrome.contextMenus.create({
  title: "Search: %s", 
  contexts:["selection"], 
  onclick: getword,
});

И manifest.json:

{
    "name": "App name",
    "version": "1.0",
    "manifest_version": 2,
    "description": "Your description",
    "permissions": [
      "contextMenus"
     ],
    "background": { 
      "scripts": ["script.js"]
    }
}

Здесь вы можете загрузить расширение: http://developer.chrome.com/extensions/getstarted.html