Firefox插件中的Chrome页面无法访问标签页

时间:2014-10-17 23:36:40

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

我是Firefox插件开发的新手,在MDN文档中找到解决问题的方法时遇到了一些麻烦。我的插件现在非常简单,我有一个main.js文件,可以打开一个新的chrome页面

var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");

var button = buttons.ActionButton({
  id: "mozilla-link",
  label: "Visit Mozilla",
  icon: {
    "16": "./icon-16.png",
    "32": "./icon-32.png",
    "64": "./icon-64.png"
  },
  onClick: handleClick
});
var addontab = require("sdk/addon-page");
var data = require("sdk/self").data;

function handleClick(state) {
require("sdk/tabs").open(data.url("chrome://test_addon/content/data/index.html"));
}

在那个chome页面里面,我想访问一个打开的标签列表;然而,这是我遇到问题的地方。添加必要的JS,例如下面的代码会导致错误:

var tabs = require('sdk/tabs');
for (let tab of tabs)
console.log(tab.title);

这是错误,我显然是不正确地调用脚本,但我不知道我应该如何实现它。

JavaScript error: chrome://test_addon/content/data/index.html, line 12: require is not defined

1 个答案:

答案 0 :(得分:0)

chrome://test_addon/content/data/index.html上下文中运行的代码不是沙箱,因此无法访问SDK API。