近期作了一個移動端項目,首頁爲信息流列表,在檢測過程當中,微信端進入詳細頁,返回到信息流頁面,每次數據從新加載,不能定位到最後一次點擊的信息位置,嚴重影響體驗。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');
就用這三步就搞定了,你們試試吧。原創文章,轉發請標註出處,若有問題,請指教,你們共同進步。