Can a site invoke a browser extension?

Since Chrome introduced externally_connectable, this is quite easy to do in Chrome. First, specify the allowed domain in your manifest.json file: “externally_connectable”: { “matches”: [“*://*.example.com/*”] } Use chrome.runtime.sendMessage to send a message from the page: chrome.runtime.sendMessage(editorExtensionId, {openUrlInEditor: url}, function(response) { // … }); Finally, listen in your background page with chrome.runtime.onMessageExternal: chrome.runtime.onMessageExternal.addListener( function(request, sender, sendResponse) … Read more