Bonjour,
Je suis entrain de développer une extension et bloque sur la communication entre les différents éléments.
L'objectif est d'afficher une popup dans la page visitée (qui contient des éléments de la page elle même) et de remonter à l'extension les actions menées sur cette popup.
Voici mon manifest.json
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 { "manifest_version": 2, "name" :"test", "version" :"0.1", "browser_action": { "default_icon": "test.png", "default_popup": "test.html", "default_title": "titre" }, "permissions": [ "activeTab", "tabs", "storage", "webRequest", "webRequestBlocking", "background" ], "background": { "scripts": ["background.js"] }, "content_scripts": [{ "matches": ["*://*/*"], "css": ["content.css"], "js": ["jQuery.min.js", "lib.js", "content.js"] }] }
La partie du content_script permettant de communiquer vers le background : dans content.js
La partie permettant de recevoir le message dans background.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 chrome.runtime.sendMessage({function: "sendInfo", info: "text"}, function(response) { console.log("reponse") console.log(response.farewell) })
Jusque là ca fonctionne bien : la communication entre le background et le content script se fait !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 chrome.runtime.onMessage.addListener( function(request, sender, sendResponse) { if (request.greeting == "sendInfo") sendResponse({farewell: "info reçues"}); });
Par contre je n'arrive pas à faire communiquer l'extension avec le background : test.js (appelé par le test.html)
A cet endroit, j'ai response qui est non définit :'(
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { chrome.tabs.sendMessage(tabs[0].id, {greeting: "sendInfo"}, function(response) { console.log(response.farewell); authorizedTrackers = JSON.parse(response.farewell) }) })
Je me suis beaucoup appuyé sur cette doc :
https://developer.chrome.com/extensi...ssaging#simple
Auriez vous une idée de ce qui ne va pas ?
Merci pour votre aide.
Partager