Firefox插件如何处理页面滚动

时间:2014-06-18 09:35:56

标签: javascript event-handling firefox-addon fennec firefox-addon-restartless

我需要在fennec插件中处理页面滚动 我做了下一件事:

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

我没有收到滚动事件。 有人有任何想法或一些工作代码?

2 个答案:

答案 0 :(得分:0)

通过添加

解决了问题
window.onscroll = scroll;

function scroll (event) {
}

在函数loadIntoWindow(window)函数

答案 1 :(得分:0)

addEventListener不使用on*,即它应该是:

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

覆盖window.onscroll至少可以说是有问题的,因为它会覆盖页面设置的任何onscrolladdEventListener不会覆盖。