//用sessionStorage解决load页面刷新问题 { //sessionStorage.removeItem("loadInfo"); var loadInfo=decodeURI(sessionStorage.getItem('loadInfo')) ; //兼容firefox loadInfo=eval("(" + loadInfo + ")"); //转化成数组 console.log(loadInfo); if(loadInfo!=null){ var prevDiv=$(".leftSidebar>div").eq(loadInfo[0]); var desDiv=prevDiv.next().find("div").eq(loadInfo[1]); var txt=desDiv.text(); if(txt=="预约报名" || txt=="售后服务" || txt=="我要晒家" || txt=="安全退出"){ $("#trigger").trigger("click"); }else{ desDiv.trigger("click"); } }else{ $("#trigger").trigger("click"); } var sidebarList=$(".leftSidebar"); $(".listContain div").each(function(){ $(this).click(function(){ var $thisIndex=$(this).index(); var $prevDivIndex=$(this).parent().prev().index(); var arr=[$prevDivIndex,$thisIndex]; //将刷新前的信息保存到sessionStorage sessionStorage.setItem('loadInfo',JSON.stringify(arr));//字符串化存入sessionStorage }) }) }
火狐中保存:bugSyntaxError: JSON.parse: bad parsing
console.log(JSON.parse(loadInfo))在火狐中会报错,是因为火狐浏览器默认给"进行encodeURI,只要进行decodeURI一下就可以了即console.log(JSON.parse(decodeURI(loadInfo)));
上述代码完美兼容chrome/firefox/高版本ie