JavaScript的Cookies

JavaScript的Cookies

什么是Cookies

Cookies是存储于用户浏览器中的一小块数据,此数据在用户在互联网上访问同一个网站时会被一同发送到网站服务器上。Cookies最初用于记录用户的数据,以便稍后再次访问时使用。例如,当你在某个网站购物时,浏览器会保存你的购物篮信息,以便你关闭浏览器之后可以再次访问购物篮。Cookies可以在网站服务器和客户端之间传递数据,并且为用户提供了更好的体验。

如何创建Cookies

必须讲一点Cookies限制:同源策略。浏览器遵循同源策略,只允许网站访问与自己文件存储在同一域、端口和协议的Cookies。同源策略保证了Cookies仅被发送到能访问它们的网站,从而保护了用户的隐私。以下是创建一个名为“username”的Cookies。

document.cookie = "username=John Doe";

可以为Cookies创建一个到期日期,过期后浏览器会自动删除它们。以下是在2022年1月1日到期的示例代码。

document.cookie = "username=John Doe; expires=Sat, 01 Jan 2022 00:00:00 UTC";

如何读取Cookies

JavaScript中可以使用document.cookie访问当前网站存储的所有Cookies。由于存储的所有Cookies都用分号分隔,因此需要将它们分离开来并使用split()方法进行处理。

以下是一个示例代码:读取名为"usernmae"的Cookies:

var name = "username=";
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);
  if (c.indexOf(name) == 0) {
    console.log(c.substring(name.length,c.length));
  }
}

如何更新Cookies

如果想要更新Cookies的数值,请使用相同的名称和新的数值重写它,还要注意用相同的参数保存它。以下是在2022年1月1日到期的“username”Cookies示例代码。

document.cookie = "username=Jane Smith; expires=Sat, 01 Jan 2022 00:00:00 UTC";

如何删除Cookies

可以使用将Cookies的到期时间设置为过去日期的方式来删除它们。例如,以下示例代码将“username”Cookies删除。

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

总结

Cookies是在Web编程中非常有用的一种数据存储方式,可以是用户的体验得到提高。在使用Cookies时,应注意同源策略,以避免数据泄露。在网站开发和维护过程中,必须详细了解Cookies并确保代码健壮性。

本文标题为:JavaScript的Cookies

基础教程推荐