//用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 parsingjavascript
console.log(JSON.parse(loadInfo))在火狐中會報錯,是由於火狐瀏覽器默認給"進行encodeURI,只要進行decodeURI一下就能夠了即console.log(JSON.parse(decodeURI(loadInfo)));java
上述代碼完美兼容chrome/firefox/高版本iechrome