0

次のことを行ったフェネックアドオンでページスクロールを処理する必要があります。

function onScrollHand(window, event) {
 showToast(window, "Scrolling");
}

var windowListener = {
  onOpenWindow: function(aWindow) {
    let domWindow = aWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowInternal || Ci.nsIDOMWindow);

    domWindow.addEventListener("onscroll", function onScroll(event) {
      onScrollHand(domWindow ,event);
    }, false);
  }, 
};

function startup(aData, aReason) {
  let wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator);

  wm.addListener(windowListener);
}

そして、スクロールイベントを受け取りませんでした。誰かアイデアや実用的なコードを持っていますか?

4

2 に答える 2

0

問題は追加することで解決されます

window.onscroll = scroll;

function scroll (event) {
}

関数内 loadIntoWindow(window) 関数

于 2014-06-18T11:13:11.743 に答える
0

addEventListenerは使用しませんon*。つまり、次のようにする必要があります。

domWindow.addEventListener("scroll", function onScroll(event) {
  onScrollHand(domWindow, event);
}, false);

オーバーライドは、ページ自体が設定したwindow.onscrollものをオーバーライドするため、控えめに言っても問題があります。オーバーライドしません。onscrolladdEventListener

于 2014-07-08T14:49:55.020 に答える