2012-10-31 14 views
5

Via il modulo context-menu rilevo sulla quale elemento DOM l'utente ha cliccato mia abitudine voce di menu contestuale "Mark":comunicazione fra le pagine-mod e menu contestuale di Firefox Addon SDK

var menu = require("context-menu").Item({ 
    label: "Mark", 
    contentScriptFile: data.url("context.js"), 
    onMessage: function (node) { 
    //Send the node to page-mod 
    } 
}); 

context.js:

self.on("click", function (node, data) { 
    self.postMessage(node); 
}); 

Ora voglio inviare questo riferimento di nodo a un modulo page-mod in cui ogni pagina che ha iniettato il contentcode del file pagemod viene a sapere il nodo su cui ho fatto clic (e contrassegnare l'elemento HTML con un bordo rosso in ogni scheda).

So che l'invio del messaggio al pagemod tramite postMessage() non è possibile, quindi come posso comunicare questi moduli? C'è una soluzione elegante worker?

risposta

2

Questo non è possibile, la parte postMessage è JSONificare il messaggio, quindi il nodo nel messaggio viene ignorato. Avrai raggiunto il tuo obiettivo inviando invece i dati sul nodo al contesto di addon (usando postMessage).

+0

Grazie per il chiarimento !! Qualche suggerimento per identificare il nodo nel onMessage? – bbbco