2

サイズ変更イベントは、アドオン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

コンテンツスクリプト内でサイズ変更イベントトリガーを作成するにはどうすればよいですか?

4

1 に答える 1

2

通常、window.onfooイベントリスナーをアタッチするために使用することはお勧めしません。他のコードが同じ方法でイベントリスナーをアタッチしようとすると問題が発生する可能性があり(1つのイベントリスナーが勝ち、どちらが勝つかわからない)、直接ではなくラッパーを介してアクセスすると機能しませんwindow。したがって、代わりにaddEventListenerメソッドを使用することをお勧めします。

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

あなたの場合、これは実際に問題を修正します-ウィンドウのサイズが変更されたときにイベントリスナーが起動します。

于 2012-08-13T11:51:47.507 に答える