2012-10-16 43 views
1

嗨,大家好,我正在嘗試創建cookie,但沒有成功。這是我的網站代碼,我不知道爲什麼我不能獲得我創建的cookie?Javascript cookies not creating

編輯網站的完整的代碼添加

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>yensdesign.com - How to create a stuning and smooth popup in jQuery</title> 
    <link rel="stylesheet" href="general.css" type="text/css" media="screen" /> 
    <script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript"></script> 
    <script src="popup.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function setCookie(name,value,days) 
     { 
      var date=new Date(); 
      var exdays = days*24*60*60*1000; 
      date.setDate(date.getDate() + exdays); 
      var c_value=escape(value) + ((days==null) ? "" : "; expires="+date.toUTCString()); 
      document.cookie=name + "=" + c_value; 
     } 

     function getCookie(name) { 
      var nameEQ = name + "="; 
      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,c.length); 
       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
      } 
      return null; 
     } 

     function deleteCookie(name) { 
      setCookie(name,"",-1); 
     } 
    </script> 
</head> 
<body onload="setCookie('myCookie', 'myValue', 1);"> 
    <center> 
     <a href="http://www.yensdesign.com"><img src="logo.jpg" alt="Go to yensdesign.com"/></a> 
     <div id="button"><input type="submit" value="Press me please!" /></div> 
     <div id="button"><input type="submit" value="Cookie!" onclick=getCookie('myCookie'); /></div> 
    </center> 
    <div id="popupContact"></div> 
    <div id="backgroundPopup"></div> 
</body> 
</html> 

,這似乎不工作的cookie創建:

<body onload="setCookie('myCookie', 'myValue', 1);"> 

有啥可以在這裏是什麼問題?

+0

您是從Web服務器提供此頁面還是從文件本地提供:/// url?您對@jmoresca的評論讓我覺得您可能會嘗試從本地文件系統執行此操作。餅乾不以這種方式工作;你需要一臺服務器 - 即使它在本地運行 - 也能讓它們運行。 –

回答

1

這裏的問題是,cookies不使用Chrome本地工作!嘗試與Firefox和運作良好。如果你想看到它的行動,你必須上傳你的文件到服務器或本地主機和查看看它如何在Chrome中的作品。

0

試試這個代碼

function setCookie(name,value,days) 
{ 
var date=new Date(); 
var exdays = days*24*60*60*1000; 
date.setDate(date.getDate() + exdays); 
var c_value=escape(value) + ((days==null) ? "" : "; expires="+date.toUTCString()); 
document.cookie=name + "=" + c_value; 
}  

function getCookie(c_name) 
{ 
var i,x,y,ARRcookies=document.cookie.split(';'); 
for (i=0; i < ARRcookies.length;i++) 
{ 
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf('=')); 
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
x=x.replace(/^\s+|\s+$/g,""); 
if (x==c_name) 
{ 
return unescape(y); 
} 
} 
} 

function deleteCookie(name) { 
     setCookie(name,"",-1); 
    } 

    function clickMe() { 
     alert(getCookie('myCookie')); 
    } 

check fiddle

http://www.w3schools.com/js/js_cookies.asp

+0

Chauchan仍然沒有運行...我更新了我的問題與完整的代碼 – Darko

+0

@darko請嘗試更新的代碼或檢查小提琴鏈接 –

2

試試這個代碼:

<!DOCTYPE html> 
<html> 
<head> 
<script> 
     function setCookie(name,value,days) { 
      if (days) { 
      var date = new Date(); 
      date.setTime(date.getTime()+(days*24*60*60*1000)); 
      var expires = "; expires="+date.toGMTString(); 
      } 
      else var expires = ""; 
      document.cookie = name+"="+value+expires+"; path=/"; 
     } 

     function getCookie(name) { 
      var nameEQ = name + "="; 
      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,c.length); 
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
      } 
      return null; 
     } 

     function deleteCookie(name) { 
      setCookie(name,"",-1); 
     } 

     function clickMe() { 
      alert(getCookie('myCookie')); 
     } 
</script> 
</head> 

<body onload="setCookie('myCookie', 'myValue', 1);"> 
<input type="button" onClick="clickMe()" value="test" /> 
</html> 
+0

返回null!我應該在服務器上運行此代碼還是我可以在本地執行此代碼 – Darko

+0

它可以在本地運行。 – jmoresca

+0

在本地無法使用chrome :) – Darko