我是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
答案 0 :(得分:0)
在chrome://test_addon/content/data/index.html
上下文中运行的代码不是沙箱,因此无法访问SDK API。