resize事件不适用于Add-on SDK(1.8)中的内容脚本 这个脚本:https://builder.addons.mozilla.org/package/142401/latest/
main.js:
var Widget = require("widget").Widget;
var tabs = require('tabs');
var self = require('self');
var data = self.data;
var PageMod = require('page-mod').PageMod;
exports.main = function() {
PageMod({
include: [data.url("thepage.html")],
contentScriptWhen: 'start',
contentScriptFile: [data.url('thescript.js')],
onAttach: function(worker) {
console.log("attaching...")
},
});
new Widget({
id: "my-widget-1",
label: "Widget",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function(event) {
tabs.open(data.url("thepage.html"));
}
});
};
thescript.js
console.log('started')
window.onresize = function(){console.log('resized!!!');}; //not working, never calls
如何在内容脚本中创建调整大小事件?
答案 0 :(得分:2)
通常不建议使用window.onfoo
来附加事件侦听器。如果某些其他代码尝试以相同的方式附加事件侦听器(一个事件侦听器将赢,而您不知道哪个),并且won't work if you access window
through a wrapper rather than directly,则可能会出现问题。因此,最好使用addEventListener
method代替:
window.addEventListener("resize", function() {
console.log('resized!!!');
}, false);
在您的情况下,这实际上解决了问题 - 在调整窗口大小时触发事件侦听器。