diff --git a/feedlist.js b/feedlist.js index 3cf23804..753307d2 100644 --- a/feedlist.js +++ b/feedlist.js @@ -92,10 +92,10 @@ function viewNextFeedPage() { try { //if (!getActiveFeedId()) return; - debug("viewNextFeedPage: calling viewfeed(), p: " + _feed_cur_page+1); + debug("viewNextFeedPage: calling viewfeed(), p: " + parseInt(_feed_cur_page+1)); viewfeed(getActiveFeedId(), undefined, activeFeedIsCat(), undefined, - undefined, _feed_cur_page+1); + undefined, parseInt(_feed_cur_page+1)); } catch (e) { exception_error("viewNextFeedPage", e); diff --git a/offline.js b/offline.js index e5f12905..8480035e 100644 --- a/offline.js +++ b/offline.js @@ -69,6 +69,22 @@ function viewfeed_offline(feed_id, subop, is_cat, subop_param, skip_history, off if (!offset) offset = 0; + if (offset > 0) { + _feed_cur_page = parseInt(offset); + if (_infscroll_request_sent) { + return; + } + } else { + _feed_cur_page = 0; + _infscroll_disable = 0; + } + + if (getActiveFeedId() != feed_id) { + _feed_cur_page = 0; + active_post_id = 0; + _infscroll_disable = 0; + } + loading_set_progress(100); clean_feed_selections(); @@ -262,6 +278,10 @@ function viewfeed_offline(feed_id, subop, is_cat, subop_param, skip_history, off line_num++; } + if (line_num - offset*30 < 30) { + _infscroll_disable = 1; + } + rs.close(); if (offset == 0) { @@ -286,6 +306,7 @@ function viewfeed_offline(feed_id, subop, is_cat, subop_param, skip_history, off remove_splash(); + _infscroll_request_sent = 0; } catch (e) { exception_error("viewfeed_offline", e);