我的 firefox 扩展有一个对象 myExt 。
myExt = {
request: function(){
//adds dynamic script element to the current webpage's head tag
},
callback: function(json) {
//do something with this
}
};
myExt.request 将动态添加的脚本元素添加到返回 json 的服务器,我希望将 json 发送到存在于我的扩展的 js 代码中的 myExt.callback。
来 self 的扩展
//from my extension, i add a script element
myExt.request();
ping 服务器,返回网页
//from server i get the following response
myExt.callback ( {"some":"json"}) ;
//but the window doesnt find a reference to myExt
如何从网页引用 myExt 变量?
最佳答案
Firefox 扩展程序以高权限 (chrome) 运行 JavaScript,并且可以完全访问浏览器。来自网页的 JavaScript 代码运行非特权 JavaScript,除其他外,不能引用特权 JavaScript 或直接与特权 JavaScript 交互。
一般来说,当您的扩展代码与来自网站的代码交互时,您必须非常小心,以免打开一个安全漏洞,让恶意网站能够以 chrome 权限执行 JavaScript。
如果您需要在特权和非特权 JavaScript 之间交换数据,您可以在这里找到更多信息,包括代码片段:
https://developer.mozilla.org/en/Security_best_practices_in_extensions
关于javascript - 如何从当前文档/窗口访问 firefox 扩展变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2834071/