0

I need to handle page scrolling in fennec addon I did next thing:

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);
}

And I didn't receive scrolling events. Has someone any idea or some working code?

nmaier
  • 32,336
  • 5
  • 63
  • 78
Misha
  • 433
  • 4
  • 10

2 Answers2

0

The problem is resolved by adding

window.onscroll = scroll;

function scroll (event) {
}

in function loadIntoWindow(window) function

Misha
  • 433
  • 4
  • 10
0

addEventListener does not use on*, i.e. it should be:

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

Overriding window.onscroll is problematic, to say the least, as it will override whatever onscroll a page has set itself. addEventListener does not override.

nmaier
  • 32,336
  • 5
  • 63
  • 78