2

调整大小事件不适用于附加 SDK (1.8) 中的内容脚本
此脚本中的内容脚本:https ://builder.addons.mozilla.org/package/142401/latest/

主.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"));
        }
    });
};

脚本.js

console.log('started')
window.onresize = function(){console.log('resized!!!');}; //not working, never calls

如何在内容脚本中触发调整大小事件?

4

1 回答 1

2

通常不建议使用window.onfoo附加事件侦听器。如果其他一些代码尝试以相同的方式附加事件侦听器(一个事件侦听器会胜出,而您不知道是哪一个),则可能会出现问题,并且如果您window通过包装器而不是直接访问它,它将无法工作。所以最好使用addEventListener方法来代替:

window.addEventListener("resize", function() {
  console.log('resized!!!');
}, false);

在您的情况下,这实际上解决了问题 - 调整窗口大小时触发事件侦听器。

于 2012-08-13T11:51:47.507 回答