Iframe 如何在firefox扩展中编写弹出窗口

Iframe 如何在firefox扩展中编写弹出窗口,iframe,google-chrome-extension,popup,firefox-addon,Iframe,Google Chrome Extension,Popup,Firefox Addon,我知道我们可以用小部件或面板显示一个弹出窗口,弹出窗口在扩展图标周围,我知道在chrome扩展开发中很容易。现在我想用javascript创建一个弹出窗口 我的想法是,当我单击图标按钮时,它将向内容脚本发送一条消息(包括iframe的html页面的路径)。我的代码是: nbBtn.addEventListener('click',function(){ var workers=tabs.activeTab.attach({ contentScriptFile:[data.url(“js/jque

我知道我们可以用小部件或面板显示一个弹出窗口,弹出窗口在扩展图标周围,我知道在chrome扩展开发中很容易。现在我想用javascript创建一个弹出窗口

我的想法是,当我单击图标按钮时,它将向内容脚本发送一条消息(包括iframe的html页面的路径)。我的代码是:

nbBtn.addEventListener('click',function(){
var workers=tabs.activeTab.attach({
contentScriptFile:[data.url(“js/jquery-2.0.1.min.js”),
data.url(“mycontent.js”),
data.url(“js/tinybox2/packed.js”),
data.url(“js/bootstrap.min.js”),
data.url(“js/jquery.qrcode.min.js”),
data.url(“js/2.5.3-crypto-sha1-hmac.js”),
data.url(“js/moment.min.js”),
url(“js/extension.utils.js”)]
});
让content=encodeURIComponent(data.load(“main.html”);
让url=“data:text/html;charset=utf-8,”+内容;
workers.postMessage(url);
},假);
然后内容脚本显示一个带有消息的弹出窗口。代码如下:

var showBox = function(){
    if(document.getElementById(iframeId)==null){
        console.log("Creating frame...");
        TINY.box.show({iframe:popupSrc, width:lgmBoxWidth, height:lgmBoxHeight, top:window.innerHeight*0.1, animate:true});
    }
    else{
        console.log("Frame already exist.");
    }
}

self.on('message', function(message) { 
    popupSrc = message;
    showBox();
});

但是iframe的html页面(
main.html
)无法正常显示,因为iframe页面中的js和css链接(如
)无法工作。那么我能做些什么来解决这个问题呢?谢谢。

您能用一个代码示例详细说明您的问题吗?您指的是浏览器操作弹出窗口还是窗口弹出窗口?很抱歉。我已更新了我的问题,感谢您的提醒。为什么要在可能不受信任的第三方中加载(受信任)扩展的内容?根据您正在加载的加密库判断,扩展将处理敏感数据。其他人可以制作一个页面来模拟您的扩展,并通过一个假的iframe窃取数据。如果您真的想继续此路由,则必须将所有资源序列化为数据URL(这可以通过构建脚本实现自动化),因为资源URI不能加载到非特权页面中。好的。让我告诉您一些有关扩展工作的信息。此扩展将把用户的密码保存到手机上,并通过扩展将保存在手机上的密码发送到登录网页。chrome扩展已经完成,链接是。可以告诉我您对这项工作的看法吗?谢谢。最好的非黑客方式是使用附加SDK中的。