我遇到了Firefox插件开发的奇怪之处。为什么addon
未定义?
- main.js -
var login = panels.Panel({
contentURL: data.url("login.html"),
contentScriptFile: data.url("login.js")
});
login.port.on('send', function onSend(login, password) {
core.getTokens(login, password);
login.hide();
});
- login.js -
document.querySelector('#ok').addEventListener('click', function(event) {
addon.port.emit('send', document.querySelector('#login').value, document.querySelector('#password').value);
});
document.querySelector('#cancel').addEventListener('click', function(event) {
addon.port.emit('close');
});
我收到了这个错误:login.js: addon is not defined
。那么,有什么不对?感谢。
答案 0 :(得分:2)
addon
对象是在script
文件通过login.html
标记包含脚本时定义的。
由于您使用contentScriptFile
选项,因此必须使用self
对象。