2012-11-25 34 views
0

我有3 HTML文件的网站:通过jQuery的cookie的脚本,删除cookie的

语言选择:media/index.html

EN页:media/en/index.html

CN页:media/cn/index.html

网站文件:media/site/

我通过这个脚本创建一个cookie,当一个访问者选择了al anguage在我的网站:

<script type="text/javascript"> 

    $(function() { 

     var url = ''; 
     var en_page = 'en'; 
     var cn_page = 'cn'; 

     if ($.cookie('default_page') != null) { 
      if (window.location.href != url + '/' + $.cookie('default_page')) { 
       window.location.href = url + '/' + $.cookie('default_page'); 
      } 
     } 

     $('#enlink').click(function() { 
      $.cookie('default_page', en_page, {expires: 999, path: '/', domain: 'mywebsite.com'}); 
     }); 

     $('#cnlink').click(function() { 
      $.cookie('default_page', cn_page, {expires: 999, path: '/', domain: 'mywebsite.com'}); 
     }); 

    }); 

</script> 

    .... 
    .... 

    <a href="cn/index.html" id="cnlink">CN</a> 
    <br> 
<a href="en/index.html" id="enlink">EN</a> 

这成功地创建了一个名为“DEFAULT_PAGE”的cookie的不是“CN”或“连接”,然后重定向用户mywebsite.com/cnmywebsite.com/en以后访问的值。这一切工作正常。

但是,我无法删除这个cookie。我需要删除这个cookie当用户点击一个链接更改语言media/en/index.htmlmedia/cn/index.html(即我实际的网站,而不是语言选择页面):

<script type="text/javascript"> 

    function deletecookie(){ 
     alert('delete'); 
     $.cookie('default_page', null, {path: '/', domain: 'mywebsite.com'}); 
    } 

</script> 

.... 
.... 

<a href="../index.html" onclick="deletecookie()"> 
    Change language 
</a> 

但是这是行不通的,那一刻我点击“改变语言“,它仍然会将我重定向到同一页面(因为cookie仍然存在),所以我无法访问语言页面(media/index.html)。该函数被调用,因为我得到了警报框,但我检查了我的浏览器,它是Firefox,并且Cookie mywebsite/default_page仍然存在。

感谢您的帮助。

+1

你试图通过插件本身提供的功能removeCookie? $ .removeCookie('default_page',{path:'/'}); – Tariqulazam

回答

2

尝试改变这种

$.cookie('default_page', null, {path: '/', domain: 'mywebsite.com'}); 

这个

$.cookie('default_page', null); 
+0

为什么会有所作为?这是我从这里得到的解释: http://stackoverflow.com/a/7633502/1100019 “这是对cookie的误解问题。浏览器不仅仅识别cookie值,还会比较选项路径和域。因此,浏览器识别不同的值,其中cookie的值是'name'与服务器设置选项(path ='/'; domain ='mydomain.com'),而key是'name',没有选项。 – wadie

+0

它可能不会,但它只是一个建议。 –