rework infinite scroll request synchronization

This commit is contained in:
Andrew Dolgov 2007-08-28 06:05:45 +01:00
parent a10d293c44
commit 82764a41dd
2 changed files with 17 additions and 2 deletions

View File

@ -1,5 +1,6 @@
var _feed_cur_page = 0;
var _infscroll_disable = 0;
var _infscroll_request_sent = 0;
function viewCategory(cat) {
active_feed_is_cat = true;
@ -53,6 +54,20 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
_infscroll_disable = 0;
}
if (page_offset != 0 && !subop) {
var date = new Date();
var timestamp = Math.round(date.getTime() / 1000);
debug("<b>" + _infscroll_request_sent + " : " + timestamp + "</b>");
if (_infscroll_request_sent && _infscroll_request_sent + 30 > timestamp) {
debug("infscroll request in progress, aborting");
return;
}
_infscroll_request_sent = timestamp;
}
enableHotkeys();
closeInfoBox();
@ -134,7 +149,6 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
}
new Ajax.Request(query, {
asynchronous: page_offset == 0,
onComplete: function(transport) {
headlines_callback2(transport, feed, is_cat, page_offset);
} });

View File

@ -175,7 +175,8 @@ function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) {
}
_feed_cur_page = feed_cur_page;
_infscroll_request_sent = 0;
notify("");
} catch (e) {
exception_error("headlines_callback2", e);