Javascript 带提示的Cookie

Javascript 带提示的Cookie,javascript,Javascript,我在储存饼干时遇到了问题。下面的代码适用于它的预期用途。这是为了保存输入的名字,用户必须输入joe.smith而不是joe-then-smith。cookie会保存好的内容,但关闭浏览器后会删除cookie。我知道我必须给它一个有效期,但我似乎弄不清楚。将到期日添加为永久性的简单方法是什么 <!DOCTYPE html> <html> <script> function writeCookie(){ if(document.cookie === "") {

我在储存饼干时遇到了问题。下面的代码适用于它的预期用途。这是为了保存输入的名字,用户必须输入joe.smith而不是joe-then-smith。cookie会保存好的内容,但关闭浏览器后会删除cookie。我知道我必须给它一个有效期,但我似乎弄不清楚。将到期日添加为永久性的简单方法是什么

 <!DOCTYPE html>
<html>

<script>
function writeCookie(){
if(document.cookie === "")
{

document.cookie = prompt("Enter first.last name: ");

}
}
writeCookie();
var name = document.cookie;
document.write("Your name is: ");
document.write(name);
</script>

</body>

</html>

函数writeCookie(){
如果(document.cookie==“”)
{
document.cookie=prompt(“输入first.last name:”);
}
}
writeCookie();
var name=document.cookie;
写下(“你的名字是:”);
文件。填写(姓名);
如果既不过期也不指定最长期限,则它将在会话结束时过期

document.cookie
只是一个字符串,您可以像修改任何其他字符串一样修改它

function writeCookie(){
    if(document.cookie === ""){
        document.cookie = prompt("Enter first.last name: ");
        document.cookie = document.cookie + ';max-age=' + (24*60*60*1000) // one day
    }
}
writeCookie();
var name = document.cookie;
document.write("Your name is: ");
document.write(name);

Ref:

默认情况下,只有在浏览器打开时,cookie才会存在,除非您明确设置了有效期

Cookie具有名称-值对。理想情况下,cookie的格式应如下所示:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";
这里用户名的值是John Doe,下一部分是到期日。可以使用document.cookie.split(;)将字符串拆分为第一部分和第二部分。然后,对于每个零件,可以进一步拆分以获得每个值。您可以在此处阅读有关操纵和读取Cookie的更多信息:

在您的情况下,向现有cookie添加过期信息的直接方法是使用下面的函数。此处的“exdays”变量是您希望cookie存在的天数(从当前日期开始):

function setCookieExpiry(exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  var expires = "expires="+ d.toUTCString();
  document.cookie = document.cookie "; " + expires;
}
我还没有测试过这段代码,所以如果它不起作用,请发表评论,我会再看一遍。

检查。尽管有标题,它还是有非jQuery的答案。