如何在firefox扩展中调用面板中的iframe

时间:2015-05-27 13:28:19

标签: iframe firefox-addon firefox-addon-sdk

我正在尝试使用sdk插件在Firefox中创建扩展程序。我想要做的是在面板内调用iframe。

我已经为chrome创建了扩展程序,现在我正在尝试为firefox做这个。

我在iframe中登录了facebook。点击登录按钮后,iframe就会变为空白。如果我事先登录,那么扩展程序也不起作用。就好像它无法访问会话一样。

这是我的main.js文件的代码。

var { ToggleButton } = require('sdk/ui/button/toggle');
var panels = require("sdk/panel");
var data = require("sdk/self").data;
var {Cc, Ci} = require("chrome");
var tabs = require("sdk/tabs");
var title=tabs.activeTab.title;

var button = ToggleButton({
  id: "my-button",
  label: "my button",
  icon: {
    "16": "./logo1.png",
    "32": "./logo1.png",
    "64": "./logo1.png"
  },
  onChange: handleChange
});

var panel = panels.Panel({
width:450,
height:400,              

  contentURL: data.url("popup.html"),
      onHide: handleHide
});

function handleChange(state) {
  if (state.checked) {
    panel.show({
      position: button
    });
  }
}

function handleHide() {
  button.state('window', {checked: false});
}

这是调用iframe的主要javascript文件的代码

 $(document).ready(function() {
document.body.style.display = 'block';
    var ur='xyz';   
        var frame = document.createElement('iframe');
        var frame_url = 'https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/page-mod';
        frame.setAttribute('width', '100%');
        frame.setAttribute('height', '100%');
//      frame.setAttribute('margin', '-10%');
        frame.setAttribute('frameborder', 'none');
        frame.setAttribute('id', 'rtmframe');
        $('body').height(450).width(400);           
            frame.setAttribute('src', frame_url);
            document.body.appendChild(frame);
             $('iframe#rtmframe').load(function() {
       $('#loadImg').hide();
    });

        }); 

这不是我想要打开的实际链接。任何人都可以建议我可以做的不同。或者指向我可能正在做同样事情的github代码。

0 个答案:

没有答案