这是一个非常基本的Firefox插件,它会打开一个新的tab
并加载指定的html
文件。
它会将ContentScript
附加到tab
,但出于某种原因alert('in event listener');
永远不会被执行?
虽然alert('in script');
确实在运行
是谁?
main.js
var tabs = require("sdk/tabs");
tabs.open({
url: require('sdk/self').data.url('html/view.html'),
isPinned: true,
onOpen: function onOpen(tab) {
console.log("onOpen");
tab.attach({
contentScriptFile: require('sdk/self').data.url('js/controller.js')
});
}
});
controller.js
window.addEventListener('click', function(event) {
alert('in event listener');
}, false);
alert('in script');
alert(document.getElementById("text").value);
// output
// console.error: MyApp:
// Message: TypeError: document.getElementById(...) is null
view.html
<html>
<body>
<textarea id="text">yo</textarea>
</body>
</html>
答案 0 :(得分:0)
转向解决方案。
将onOpen
更改为onReady
,而不是document.addEventListener
使用window.addEventListener
。 bobbyrne01报告说它有效,但不知道为什么要修复它。