从变量设置cookie值

时间:2013-01-18 15:54:27

标签: javascript html cookies

我最近尝试设置一个包含用户名称的cookie,它会打开一个提示弹出框,询问是否有新的用户名。当用户插入用户名并单击“确定”时,它不会将变量(sconName)视为变量而只是放置“sconName”。

注意:Scon是网站的名称。

这是我使用的唯一脚本:

<html>
  <body>
<script>
function readCookie(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; }
    </script>
<script>
  var username = readCookie('sconName');
if (username) {
   document.write("Your current username is: " + username);
}
  else {
    document.write("You have no user name");
  }

  function changeUsername() {
    var changedName=prompt("Enter user name.");
    if (changedName) {
document.cookie = 'sconName=changedName; expires=Wed, 1 Jan 2070 13:47:11 UTC; path=/'}}
  </script>
<button onclick="changeUsername()">Change</button>
</body>
</html>

请你解释一下如何告诉系统它的变量不仅仅是文本。 感谢。

1 个答案:

答案 0 :(得分:16)

javascript不解析引号内的变量。您需要打破引号才能使用变量:

document.cookie = 'sconName='+changedName+'; expires=Wed, 1 Jan 2070 13:47:11 UTC; path=/'
相关问题