前端老司機教你解決: 崩潰的微信瀏覽器不能存貯狀態的問題.


  1 問題: 最近開發微信web頁面, 需要在微信上儲登錄狀態. 使用localstorage經常失效, 然后發現cookie可以實現,參考W3Cschool后方案如下: 

  2 解決方案如下:

   1 首先,創建一個可在 cookie 變量中存儲訪問者姓名的函數:

function setCookie(c_name,value,expiredays) { var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) }

   解釋: 上面這個函數中的參數存有 cookie 的名稱、值以及過期天數。在上面的函數中,我們首先將天數轉換為有效的日期,然后,我們將 cookie 名稱、值及其過期日期存入 document.cookie 對象.

   2 創建另一個函數來檢查是否已設置 cookie: 

function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" }

    解釋: 上面的函數首先會檢查 document.cookie 對象中是否存有 cookie。假如 document.cookie 對象存有某些 cookie,那么會繼續檢查我們指定的 cookie 是否已儲存。如果找到了我們要的 cookie,就返回值,否則返回空字符串。

    3 使用: 

`添加cookie名 值  有效期(day), 
setCookie('username',username,365)
`訪問cookie: username
getCookie('username'); 若有則返回, 反之則為空.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM