1. 程式人生 > 實用技巧 >前臺頁面中的Cookie存取刪除,以及Cookie的跨域問題

前臺頁面中的Cookie存取刪除,以及Cookie的跨域問題

這周還是很忙,忙到只有今晚才有時間來寫點什麼東西!(其實下午在偷懶睡覺)

義正言辭的說,上回琢磨了後臺的cookie,那這次說下前臺的cookie吧。、

在前端的基礎應用中,常常會有互動傳值的部分。那麼在Js中的Cookie怎麼用呢,直接上程式碼比較好

  function getCookie(key) {
        //由於cookie是通過一個分號+空格的形式串聯起來的,所以這裡需要先按分號空格截斷,變成 [name=Jack,pwd=123456,age=22]陣列型別;
        var arr1 = document.cookie.split("; ");
        
for (var i = 0; i < arr1.length; i++) { //通過=截斷,把name=Jack截斷成[name,Jack]陣列; var arr2 = arr1[i].split("="); if (arr2[0] == key) { return decodeURI(arr2[1]); } } }

這個是 獲取Cookie的方法 , 先把它存下來,等下要用。(我才不會說這是我抄過來的方法)

    var delCookie = function (name) {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        //獲取cookie是否存在
        var value = getCookie(name);
        if (value != null) {
            document.cookie = name + "=" + value + ";expires=" + exp.toUTCString();
        }
    }

這個是 刪除Cookie的方法

好了,兩大方法已經寫作完畢。 那麼增刪改查中的“增”怎麼寫呢?

document.cookie='name=SevenWang'

直接用document中的cookie後面拼字串就可以。這簡直就是弱爆了,不過呢 還是得用。

那麼問題來了,過期時間和路徑等之類的怎麼設定?

document.cookie='name=SevenWang;expires={time};path=/'

你也看到了,直接;來進行相隔就可以,記得關鍵在於不要拼錯字串了呦、

那麼這麼寫是不是感覺有點點麻煩?

其實可以直接把上面的語句寫一個方法每次呼叫就行。但是,本著工匠精神,方法我就不給你寫了,自己封裝去吧,啊哈哈哈哈

(會不會某一天把自己坑到,小聲嗶嗶)