我希望对图像和无限滚动使用 LazyLoad 技术将新内容加载到我的页面中。这两件事都利用$(window).scrollTop()
了 Facebook 画布应用程序内部不起作用的功能。我知道我可以FB.Canvas.getPageInfo()
用来获取当前的 scrollTop 值但是我遇到了一些性能问题,我的代码如下:
var oldScroll = 0; // current scroll
var newScroll = null; // new scroll (fetched from FB.Canvas)
// Override the normal function to work within fb
// !!This seems to kill the browser
$.fn.scrollTop = function() {
return FB.Canvas.getPageInfo().scrollTop;
};
// poll to check for any changes in scroll
setInterval(function() {
newScroll = FB.Canvas.getPageInfo().scrollTop;
if(oldScroll != newScroll) { // have we scrolled at all?
oldScroll = newScroll;
$(window).trigger($.Event('scroll')); // fire a scroll event to keep the rest of the application that is listening
}
}, 1000);
如果我不覆盖 scrollTop 函数似乎很好,但是一旦我这样做,我的浏览器很快就会崩溃。
我会完全错了吗?是否有人已经在 FB 画布中创建了一种方法来执行此操作?干杯。