Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to access a firefox extension variable from the current document/window

my firefox extension has an object myExt .

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

myExt.request adds a dynamically added script element to a server that returns json, i want the json to be sent to myExt.callback that exists within my extension's js code.

from my extension

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

pings the server, back into the webpage

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

//but the window doesnt find a reference to myExt

how do i make a reference to myExt variable from the webpage ?

like image 649
bosky101 Avatar asked Dec 28 '22 17:12

bosky101


1 Answers

Firefox extensions run JavaScript with high privilege (chrome) and have full access to the browser. JavaScript code from a web page run unprivileged JavaScript and among other things cannot reference or interact directly with the privileged JavaScript.

In general, you have to be very careful when your extension code interacts with code coming from websites in order not to open a security hole that could allow a malicious website to execute JavaScript with chrome privileges.

You can find more information here, including code snippets if you need to exchange data between privileged and unprivileged JavaScript:

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

like image 93
flpmor Avatar answered Dec 31 '22 06:12

flpmor