如何处理“无限”的网页?

曾几何时,生活很简单:所有网页的长度都是有限的,如果它们不适合当前的窗口/视图大小,只需向下滚动,直到到达页面的底部。

但是我最近注意到网页devise领域有一个新趋势: 无底网页。

可能最常见的使用这种网页的网站的例子是Facebook和Twitter:你滚动到“底部”,只是触发一些刷新内容到页面,所以“旧底部”不再是一个底部,有一个新的“底部”。

在Android WebView中,我需要捕获当前在该页面上可用的所有内容,但是我不知道如何处理:

通过View.scrollBy(int x,int y) , pageDown()或window.scrollTo()模拟用户向下滚动

还是有一个API方法,自动为我做这个?

或者我接近这个完全错误的,我不应该尝试在一个捕获(如果可能的话)达到“真正的底部”?

编辑 :似乎标签这个问题的javascript传达了相反的消息。 我有兴趣使用Java在Android的WebView上捕获(然后处理)这样的无底页面。

Solutions Collecting From Web of "如何处理“无限”的网页?"

编辑:无视这个答案,我误解了这个问题。 如果别人误解了这个问题,就留下答案。


你可以使用jqPageFlow jQuery插件 ,或者根据自己的文档。

无限滚动是另一个很好的select。

这个jQuery插件就是这样的: http : //www.webresourcesdepot.com/load-content-while-scrolling-with-jquery/

另一个,用jQuery一个PHP: http : //www.9lessons.info/2009/07/load-data-while-scroll-with-jquery-php.html

无论您使用哪种语言,解决scheme都非常简单。 你只需捕捉用户的行为(通过捕获当前的y并将其与页面的最大值进行比较),那么你必须通过asynchronous连接向你的内容添加一些新的信息。 就这些。 不太了解Java,所以我只能给出一个提示,但所有的技术/语言的想法是一样的。

鉴于以下网页:

 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!-- website code --> <!-- The endless articles you want to process --> <div class="article"> </div> <div class="article"> </div> <div class="article"> </div> <!-- ... --> </body> </html> 

这里将是使用的代码:

 (function($) { // closure $(function() { // when the document is ready var height = $(this).height(), // get initial height lastEl = null, // track last element processed getData = // this function will process the data as it comes in function() { var $elements = $(".article"); // don't reprocess data if(lastEl) { $elements = $elements .slice($elements.index(lastEl)+1); } lastEl = $elements .each(function() { // do what you want with the element }) // save the last element processed .get(-1) || lastEl; // finally, scroll to the bottom of the page $(window).scrollTop($(document).height()); }; $(document).bind('DOMSubtreeModified', function() { var newHeight = $(this).height(); if(newHeight != height) { height = newHeight; getData(); } }); getData(); }); })(jQuery)); 

只需将$ elementsselect器更改为您要查找的内容即可。 那么,你应该没问题。 这是冗长的,但也是performance轻。