bifimo | 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 :
- {
- "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 [B]content.js[/B]
Code :
- chrome.runtime.sendMessage({function: "sendInfo", info: "text"}, function(response) {
- console.log("reponse" )
- console.log(response.farewell)
- })
|
La partie permettant de recevoir le message dans [B]background.js[/B]
Code :
- chrome.runtime.onMessage.addListener(
- function(request, sender, sendResponse) {
- if (request.greeting == "sendInfo" )
- sendResponse({farewell: "info reçues"});
- });
|
Jusque là ca fonctionne bien : la communication entre le background et le content script se fait !
Par contre je n'arrive pas à faire communiquer l'extension avec le background : [B]test.js (appelé par le test.html)[/B]
Code :
- 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)
- })
- })
|
[B]A cet endroit, j'ai [I]response[/I] qui est non définit [/B]
Je me suis beaucoup appuyé sur cette doc : https://developer.chrome.com/extens [...] ing#simple
Auriez vous une idée de ce qui ne va pas ?
Merci pour votre aide. |