如何删除会话cookie

时间:2012-09-07 07:37:42

标签: javascript cookies session-cookies

我们正试图在按下'退出'清除浏览器中的Cookie细节。按钮具有以下代码,但脚本不会从浏览器中删除会话cookie。但是,通过使用开发人员工具(工具>开发人员工具>缓存>清除会话Cookie)清除IE8浏览器中的会话cookie,Cookie将被清除。

<html:link page="/home.do" onclick="logout();">
    <html:img  page="/images/logout.jpg"/>
</html:link>

function logout(){
var cookies = document.cookie.split(";");     
for (var i = 0; i < cookies.length; i++)     {   
  var cookiename =  cookies[i].split("=");       
  var d = new Date();         
  d.setDate(d.getDate() - 4);   
  var expires = ";expires="+d;       
  var value="";       
  document.cookie = cookiename + "=" + value + expires + ";";     
  }
}

如何使用脚本从浏览器中清除会话cookie?

4 个答案:

答案 0 :(得分:9)

你可以用它。

function deleteCookies() {
   var allcookies = document.cookie.split(";");

   for (var i = 0; i < allcookies.length; i++) {
        var cookie = allcookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
}

答案 1 :(得分:3)

如果它是httpOnly,那么你无法删除它,尝试从服务器端修改它

答案 2 :(得分:0)

from javascript: 不指定过期字段,也设置值为null,如果也是hostonly,不指定域

答案 3 :(得分:-1)

如果是&#39;会话&#39;你要清除的变量......

print("The class is", mperc, "percent male and", fperc, "percent female")

这将完全删除此会话变量。标题具有误导性。他展示的代码不是&#39; session&#39; cookies,它们是常规的&#39; cookies&#39;。