The information you requested is provided to you in the onClicked listener onClicked .
chrome.contextMenus.onClicked.addListener(function(info, tab) {
eg. you can achieve what you want:
manifest.json:
{ "manifest_version": 2, "name": "Test Extension", "version": "0.0", "background": { "persistent": false, "scripts": ["background.js"] }, "permissions": ["contextMenus"] }
background.js:
var baseURL = 'http://example.com/'; chrome.contextMenus.create({ id: 'myMenu', // <-- event-pages require an ID title: 'Do cool stuff', contexts: ['all'] }, function () { /* It is always a good idea to look for errors */ if (chrome.runtime.lastError) { alert('ERROR: ' + chrome.runtime.lastError.message); } }); chrome.contextMenus.onClicked.addListener(function(info, tab) { /* Check which context-menu was triggered */ if (info.menuItemId === 'myMenu') { /* Get the URL of the frame or (if none) the page */ var currentURL = info.frameUrl || info.pageUrl; /* Open a new tab */ chrome.tabs.create({ url: baseURL + encodeURI(currentURL) }); } });
source share