Cookie是一种存储在用户浏览器中的小文本文件,它包含网站的服务器发给浏览器的信息,可以用来识别已经访问过该网站的用户。因为Cookie是纯文本格式并且只存储少量信息,所以它们不会对系统性能产生太大影响。
JavaScript操作Cookie(设置、读取、删除)方法详解
什么是Cookie
Cookie是一种存储在用户浏览器中的小文本文件,它包含网站的服务器发给浏览器的信息,可以用来识别已经访问过该网站的用户。因为Cookie是纯文本格式并且只存储少量信息,所以它们不会对系统性能产生太大影响。
设置Cookie
通过JavaScript可以轻松地设置Cookie。以下是设置Cookie的方法:
document.cookie = "name=value; expires=date; path=path; domain=domain; secure";
name
:cookie名称value
:cookie值expires
:cookie的失效时间,以GMT格式的字符串表示。如果未设置失效时间,cookie将在关闭浏览器时自动删除。path
:限制目录,指定与cookie关联的Web页面。如果未设置路径,则cookie将适用于所有页面。domain
:指定与cookie关联的主机。如果未设置域,cookie将适用于发出cookie请求的主机。secure
:指定是否使用HTTPS协议来传输cookie。
以下是一个设置cookie的示例:
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2022 12:00:00 GMT; domain=mydomain.com; path=/; secure";
在此示例中,我们在mydomain.com
域名下设置了一个名为username
的cookie,它的值为John Doe
,并将在指定日期过期。
读取Cookie
读取Cookie的方式非常简单。以下是JavaScript根据cookie名称获取cookie值的方法:
function getCookie(cname) {
var name = cname + "=";
var decodeCookie = decodeURIComponent(document.cookie);
var cookieArray = decodeCookie.split(';');
for(var i = 0; i < cookieArray.length; i++) {
var c = cookieArray[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
此代码将解密cookie值并将其作为数组返回,以方便检查每个cookie的名称。
以下是一个示例,演示如何使用上述函数读取cookie:
var usernameCookie = getCookie("username");
if (usernameCookie != "") {
alert("Welcome, " + usernameCookie);
} else {
alert("Sorry, the cookie is not found!");
}
在此示例中,我们检查名为username
的cookie值是否存在。如果存在,我们将欢迎消息和username值显示给用户。
删除Cookie
删除cookie也非常简单。以下是JavaScript删除cookie的方法:
function deleteCookie(name) {
document.cookie = name +'=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
此代码将设置cookie的过期时间为过去的一个时间,因此浏览器将删除该cookie。
以下是一个示例,演示如何使用上述函数删除cookie:
deleteCookie('username');
在此示例中,我们删除了名为username
的cookie。
结论
本文介绍了JavaScript操作Cookie的三个方法:设置,读取和删除。在您的Web应用程序中使用Cookie,可以保存用户偏好设置,浏览器偏好设置,身份验证信息等用户相关信息以实现可持续化体验。
本文标题为:javascript操作Cookie(设置、读取、删除)方法详解
基础教程推荐
- 微信小程序 自己制作小组件实例详解 2024-01-04
- 使用CSS动画让页面元素反弹起来 2023-10-08
- 使用JS location实现搜索框历史记录功能 2023-12-01
- JS语法也可以有C#的switch表达式 2023-07-09
- Ajax 跨域如何实现 2022-12-28
- javascript题目,重写函数让其无限相加 2023-12-02
- vue - v-if和v-for不能用在同一个元素上 2023-10-08
- 如何通过双击Windows XP中的html文件之类的任何文件夹来运行php文件? 2023-10-25
- vue开发之生命周期 2023-10-08
- 灵活掌握asp.net中gridview控件的多种使用方法(上) 2023-12-03