2010-05-04 26 views
0

我需要一些建议。我有一个网页,并希望用greasemonkey脚本和firefox扩展它的功能。在greasemonkey脚本中处理窗口滚动事件

页面加载时我需要在用户的页面滚动期间(使用鼠标滚轮或滚动条)运行自定义函数。我想在用户向下滚动时显示一些div块,并在滚动到顶部时隐藏它。

但我遇到了一些问题 - 我无法将事件处理程序分配给onscroll事件。我使用的代码的下一个部分:

function showFixedBlock(){ ... } 
function onScrollStart(){ ... showFixedBlock(); ... } 
window.onscroll = onScrollStart; 

我测试这段代码在我的测试HTML页面和它的作品,但是当我将其复制到Greasemonkey的,脚本不起作用。

我应该在页面加载期间分配onscroll事件处理程序吗?据我所知,当页面加载时,greasemonkey执行它的脚本?这是问题的原因吗?

是否有一些额外的要求来处理'onscroll'事件?我怎样才能做到这一点?

谢谢。

回答

3

我可能是错的,但我认为这应该工作:

unsafeWindow.onscroll = onScrollStart; 

window.addEventListener("scroll", onScrollStart, false); 

你真的应该使用后者的例子。