【问题标题】:how to access a firefox extension variable from the current document/window如何从当前文档/窗口访问 Firefox 扩展变量
【发布时间】:2010-05-14 12:30:51
【问题描述】:

我的 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。

来自我的扩展程序

//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 变量?

【问题讨论】:

    标签: javascript firefox-addon scope


    【解决方案1】:

    Firefox 扩展程序以高权限 (chrome) 运行 JavaScript,并且可以完全访问浏览器。来自网页的 JavaScript 代码运行非特权 JavaScript,除其他外,不能引用特权 JavaScript 或直接与特权 JavaScript 交互。

    一般来说,当您的扩展程序代码与来自网站的代码交互时,您必须非常小心,以免打开可能允许恶意网站以 chrome 权限执行 JavaScript 的安全漏洞。

    如果您需要在特权和非特权 JavaScript 之间交换数据,您可以在此处找到更多信息,包括代码 sn-ps:

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

    【讨论】:

      【解决方案2】:

      另请参阅此链接以在特权和非特权 JavaScript 之间交换数据:

      https://developer.mozilla.org/en/Code_snippets/Interaction_between_privileged_and_non-privileged_pages

      【讨论】:

        猜你喜欢
        • 2014-06-03
        • 1970-01-01
        • 1970-01-01
        • 2015-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-30
        • 1970-01-01
        相关资源
        最近更新 更多