2010-05-14 2 views
4

mon extension firefox a un objet myExt.comment accéder à une variable d'extension firefox à partir du document/fenêtre en cours

myExt = { 
request: function(){ 
    //adds dynamic script element to the current webpage's head tag 
}, 
callback: function(json) { 
    //do something with this 
} 
}; 

myExt.request ajoute un élément de script ajouté dynamiquement à un serveur qui retourne JSON, je veux que le JSON à envoyer à myExt.callback qui existe dans le code js de mon extension.

de mon extension

//from my extension, i add a script element 
myExt.request(); 

pings du serveur, de retour dans la page Web

//from server i get the following response 
myExt.callback ({"some":"json"}) ; 

//but the window doesnt find a reference to myExt 

comment puis-je faire une référence à la variable myExt de la page Web?

Répondre

5

Les extensions Firefox exécutent JavaScript avec des privilèges élevés (chrome) et ont un accès complet au navigateur. Le code JavaScript d'une page Web exécute JavaScript non privilégié et, entre autres, ne peut pas référencer ou interagir directement avec le JavaScript privilégié.

En général, vous devez être très prudent lorsque votre code d'extension interagit avec du code provenant de sites Web afin de ne pas ouvrir un trou de sécurité qui pourrait permettre à un site Web malveillant d'exécuter JavaScript avec des privilèges Chrome.

Vous trouverez plus d'informations ici, y compris des extraits de code si vous avez besoin d'échanger des données entre JavaScript privilégié et non privilégié:

https://developer.mozilla.org/en/Security_best_practices_in_extensions

Questions connexes