專案中使用sdmenu.js時,需要在登入時清除cookie,而sdmenu預設是會儲存cookie的
下面是sdmenu.js儲存cookie的方法
document.cookie = "sdmenu_" + encodeuricomponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.togmtstring() + "; path=/";
下面是我到網上找的清除cookie的方法,始終都無法刪除cookie
1、傳遞cookie名稱
function deletecookie(name)
}function getcooki(offset)
function delcookie(name)
function getcookie(name)
return null;
}後來發現這個**,介紹了無法刪除cookie的原因
今天遇到乙個cookie的問題: 名叫username的,域為www.umiwi.com的cookie無法刪除,導致使用者登入以後無法退出。搞了半天終於發現問題所在:原來是我關於cookie的基礎知識沒搞清楚 。。。。
cookie不僅僅有名字和值兩個屬性,還有域(domain),過期時間(expires),路徑(path)等屬性。 其中,不同的域、不同的路徑下可以存在同樣名字的cookie。 比如這個頁面: 用滑鼠戳我
一般我們刪除cookie的方法是用乙個同樣名字、過期時間為過去某個時候的cookie覆蓋之。 這時就一定要搞清楚你要刪除的cookie的域和路徑,cookie域和路徑要一樣才能被覆蓋。 否則產生的效果就是那個想要被刪除的cookie具有神奇的生命力,無法被清除~~~
另外,我發現在設定cookie的時候,如果沒有指定網域名稱,那麼設定的這個cookie的域預設為當前域,比如www.umiwi.com。 如果設定的時候指定了某個域,那麼瀏覽器存的時候會自動在前面加.。比如php**: setcookie('test','a',0,'www.umiwi.com'); 那麼 瀏覽器裡面存的cookie的域為.www.umiwi.com。 所以,最好的方式是設定cookie的時候怎麼寫的,刪除的時候就怎麼寫。 要不就會出現我遇到的情況: 明明瀏覽器裡看有 username=longbill,域為www.umiwi.com的cookie,但是在php裡寫 setcookie('username','',time()-1000,'www.umiwi.com','/'); 無法刪除那個cookie。 原因就是我刪cookie的操作其實上是發了乙個新的名叫username、值為空、過期時間為過去1000秒、域為.www.umiwi.com、路徑為/的cookie。這個cookie發到瀏覽器馬上就過期了,什麼也看不到。而我要刪除的在
上的cookie還活的好好的。。。
原來是刪除cookie的**中沒有加 路徑(path)
原:document.cookie = "sdmenu_" + encodeuricomponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.togmtstring() + "; path=/";
新:var date=new date();
date.settime(date.gettime()-10000);
document.cookie=name+"=v; expire="+date.togmtstring()+"; path=/";
除了路徑(path),可能還有域等其它情況,保險的方式就是 設定cookie時是什麼樣式,刪除時就應該是什麼樣式,加上expire屬性就行了
JS 無法清除Cookie的解決方法
專案中使用sdmenu.js時,需要在登入時清除cookie,而sdmenu預設是會儲存cookie的 下面是sdmenu.js儲存cookie的方法 document.cookie sdmenu encodeuricomponent this.menu.id states.join expires...
JS 無法清除Cookie的解決方法
js 無法清除cookie的解決方法 專案中使用sdmenu.js時,需要在登入時清除cookie,而sdmenu預設是會儲存cookie的 下面是sdmenu.js儲存cookie的方法 document.cookie sdmenu encodeuricomponent this.menu.id ...
jsp無法取到cookie問題及解決
今天筆者在寫個小專案時用到記住密碼,這個的實現原理也簡單一般都是使用cookie,筆者也這樣寫的,先看我的servlet層的 customer customer getreqparamobj request,customer.class string rempwd request.getparame...