Je sais que cette question a été posée à plusieurs reprises de différentes manières, mais j'ai essayé de passer en revue toutes les réponses (j'espère n'avoir oublié personne) et aucune n'a fonctionné pour moi.
Voici le code de mon extension :
manifeste :
{
"name": "test",
"version": "1.1",
"background":
{
"scripts": ["contextMenus.js"]
},
"permissions": ["tabs", "<all_urls>", "contextMenus"],
"content_scripts" : [
{
"matches" : [ "http://*/*" ],
"js": ["jquery-1.8.3.js", "jquery-ui.js"],
"css": [ "jquery-ui.css" ],
"js": ["openDialog.js"]
}
],
"manifest_version": 2
}
contextMenus.js
function onClickHandler(info, tab) {
if (info.menuItemId == "line1"){
alert("You have selected: " + info.selectionText);
chrome.extension.sendMessage({action:'open_dialog_box'}, function(){});
alert("Req sent?");
}
}
chrome.contextMenus.onClicked.addListener(onClickHandler);
chrome.runtime.onInstalled.addListener(function() {
chrome.contextMenus.create({"id": "line1", "type": "normal", "title": "I'm line 1", "contexts":["selection"]});
});
openDialog.js
chrome.extension.onMessage.addListener(function(msg, sender, sendResponse) {
if (msg.action == 'open_dialog_box') {
alert("Message recieved!");
}
});
Les deux alertes de la page de fond fonctionnent, alors que celle du content_script ne fonctionne pas.
message du journal de la console : Erreur de port : Impossible d'établir la connexion. L'extrémité réceptrice n'existe pas.
Où est ma faute ?