javascript cookie怎麼刪除

2021-04-27 10:00:34

javascript刪除cookie的方法:首先通過「setCookie」設定cookie;然後通過「getCookie」獲取cookie;最後通過「clearCookie」刪除cookie即可。

本文操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

JS設定cookie,刪除cookie

js設定cookie有很多種方法。

第一種:(這個是w3c官網的程式碼)

<script>
//設定cookie
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}
//獲取cookie
function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
    }
    return "";
}
//清除cookie  
function clearCookie(name) {  
    setCookie(name, "", -1);  
}  
function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}
checkCookie(); 
</script>

第二種:

<script>
//JS操作cookies方法!
//寫cookies
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());
   }
 
//讀取cookies
function getCookie(name)
{
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
 
    if(arr=document.cookie.match(reg))
 
        return (arr[2]);
    else
        return null;
}
//刪除cookies
function delCookie(name)
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null)
        document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
//使用範例
setCookie('username','Darren',30) 
alert(getCookie("username"));
</script>

第三個例子

<html> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <head> 
        <script language="JavaScript" type="text/javascript"> 
            
            function addCookie(objName, objValue, objHours){//新增cookie 
                var str = objName + "=" + escape(objValue); 
                if (objHours > 0) {//為0時不設定過期時間,瀏覽器關閉時cookie自動消失 
                    var date = new Date(); 
                    var ms = objHours * 3600 * 1000; 
                    date.setTime(date.getTime() + ms); 
                    str += "; expires=" + date.toGMTString(); 
                } 
                document.cookie = str; 
                alert("新增cookie成功"); 
            } 
            
            function getCookie(objName){//獲取指定名稱的cookie的值 
                var arrStr = document.cookie.split("; "); 
                for (var i = 0; i < arrStr.length; i++) { 
                    var temp = arrStr[i].split("="); 
                    if (temp[0] == objName) 
                        return unescape(temp[1]); 
                } 
            } 
            
            function delCookie(name){//為了刪除指定名稱的cookie,可以將其過期時間設定為一個過去的時間 
                var date = new Date(); 
                date.setTime(date.getTime() - 10000); 
                document.cookie = name + "=a; expires=" + date.toGMTString(); 
            } 
            
            function allCookie(){//讀取所有儲存的cookie字串 
                var str = document.cookie; 
                if (str == "") { 
                    str = "沒有儲存任何cookie"; 
                } 
                alert(str); 
            } 
            
            function $(m, n){ 
                return document.forms[m].elements[n].value; 
            } 
            
            function add_(){ 
                var cookie_name = $("myform", "cookie_name"); 
                var cookie_value = $("myform", "cookie_value"); 
                var cookie_expireHours = $("myform", "cookie_expiresHours"); 
                addCookie(cookie_name, cookie_value, cookie_expireHours); 
            } 
            
            function get_(){ 
                var cookie_name = $("myform", "cookie_name"); 
                var cookie_value = getCookie(cookie_name); 
                alert(cookie_value); 
            } 
            
            function del_(){ 
                var cookie_name = $("myform", "cookie_name"); 
                delCookie(cookie_name); 
                alert("刪除成功"); 
            } 
        </script> 
    </head> 
    <body> 
        <form name="myform"> 
            <div> 
                <label for="cookie_name"> 
                    名稱 
                </label> 
                <input type="text" name="cookie_name" /> 
            </div> 
            <div> 
                <label for="cookie_value"> 
                值 
                </lable> 
                <input type="text" name="cookie_value" /> 
            </div> 
            <div> 
                <label for="cookie_expireHours"> 
                多少個小時過期 
                </lable> 
                <input type="text" name="cookie_expiresHours" /> 
            </div> 
            <div> 
                <input type="button" value="新增該cookie" onclick="add_()"/><input type="button" value="讀取所有cookie" onclick="allCookie()"/><input type="button" value="讀取該名稱cookie" onclick="get_()"/><input type="button" value="刪除該名稱cookie" onclick="del_()"/> 
            </div> 
        </form> 
</body> 
</html>

注意:

chrome瀏覽器在本地獲取不到cookie。必須在伺服器上才可以。如果是原生的話,你可以放到local的www目錄下面。

Google Chrome只支援線上網站的cookie的讀寫操作,對本地html的cookie操作是禁止的。所以下面的程式碼如果你寫在一個原生的html檔案中,將彈出的對話方塊內容為空。

document.cookie = "Test=cooo";
alert(document.cookie);

如果這個頁面是線上網站的內容,則會正常顯示cookie內容Test=cooo等等。

【推薦學習:】

以上就是javascript cookie怎麼刪除的詳細內容,更多請關注TW511.COM其它相關文章!