2012-11-25 33 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

它可能不會,但它只是一個建議。 –