用javascript在客戶端刪除某一個cookie鍵值對

下面這個方法展現如何在客戶端瀏覽器上用javascript刪除某一個cookie鍵值對。javascript

//用javascript刪除某一個cookie的方法,該方法傳入要刪除cookie的名稱
function RemoveCookie(cookieName) {
    var cookies = document.cookie.split(";");//將全部cookie鍵值對經過分號分割爲數組

    //循環遍歷全部cookie鍵值對
    for (var i = 0; i < cookies.length; i++) {
        //有些cookie鍵值對前面會莫名其妙產生一個空格,將空格去掉
        if (cookies[i].indexOf(" ") == 0) {
            cookies[i] = cookies[i].substring(1);
        }

        //比較每一個cookie的名稱,找到要刪除的那個cookie鍵值對
        if (cookies[i].indexOf(cookieName) == 0) {
            var exp = new Date();//獲取客戶端本地當前系統時間
            exp.setTime(exp.getTime() - 60 * 1000);//將exp設置爲客戶端本地時間1分鐘之前,將exp賦值給cookie做爲過時時間後,就表示該cookie已通過期了, 那麼瀏覽器就會將其馬上刪除掉

            document.cookie = cookies[i] + ";expires=" + exp.toUTCString();//設置要刪除的cookie的過時時間,即在該cookie的鍵值對後面再添加一個expires鍵值對,並將上面的exp賦給expires做爲值(注意expires的值必須爲UTC或者GMT時間,不能用本地時間),那麼瀏覽器就會將該cookie馬上刪除掉
            //注意document.cookie的用法很巧妙,在對其進行賦值的時候是設置單個cookie的信息,可是獲取document.cookie的值的時候是返回全部cookie的信息

            break;//要刪除的cookie已經在客戶端被刪除掉,跳出循環
        }
    }
}
相關文章
相關標籤/搜索