获取标签的消息管理器? (Firefox附加SDK)

时间:2016-06-06 16:18:58

标签: javascript firefox firefox-addon firefox-addon-sdk mozilla

这是一个Firefox附加SDK。

我想将帧脚本加载到给定的浏览器选项卡(符合e10s)。

目前我尝试为每个标签执行此操作(仅用于测试),但未定义消息管理器。为什么呢?

var self = require("sdk/self");
var { setTimeout} = require ("sdk/timers");
var { viewFor } = require("sdk/view/core");

function myFunc() {
  var tabs = require("sdk/tabs");
  for (let tab of tabs) {
    console.log(tab.title);
    var xulTab = viewFor(tab);
    console.log(xulTab.messageManager);
    console.log(tab.messageManager);
  } 
}

两个log都打印出undefined

我需要messageManager个对象才能在之后调用loadFrameScript函数。非常感谢你!

1 个答案:

答案 0 :(得分:3)

很好的问题。这是安全的:

var mm = xulTab.linkedBrowser.messageManager

然后您可以正常使用它,例如:mm.sendAsyncMessage(....)