返回信息流頁面從新加載問題

  近期作了一個移動端項目,首頁爲信息流列表,在檢測過程當中,微信端進入詳細頁,返回到信息流頁面,每次數據從新加載,不能定位到最後一次點擊的信息位置,嚴重影響體驗。html

  針對這個問題,百般詢問度娘,終於解決,已分享給你們,共勉。jquery

主要運用知識點:ajax

  • window.sessionStorage.setItem()緩存

  • window.sessionStorage.getItem()微信

  • window.sessionStorage.removeItem()session

解決步驟:dom

<script src="js/jquery.js"></script>添加到頁面異步

一、本地存儲 window.sessionStorage.setItemhtm

首先是ajax異步加載,每次滾動到底部就加載信息,這個不關鍵,爲了減小監聽次數,咱們能夠爲每條信息的a連接添加監聽事件,即連接觸發時,將加載的全部信息,緩存到本地
newBox.on('click', 'a', function() {
var html = newBox.html();
var session = {html : html};
var str = JSON.stringify(session);
window.sessionStorage.setItem('pageCont', str);
});事件

二、頁面返回 window.sessionStorage.getItem

獲取存儲帶本地的全部信息
var str = window.sessionStorage.getItem('pageCont');
var obj = JSON.parse(str);
var html = obj.html;
newBox.html(html); // 渲染dom元素

三、移除本地存儲 window.sessionStorage.removeItem

渲染信息後移除以便清除空間留着下次再用;

window.sessionStorage.removeItem('pageCont');

就用這三步就搞定了,你們試試吧。原創文章,轉發請標註出處,若有問題,請指教,你們共同進步。

相關文章
相關標籤/搜索