javascript设置和获取cookie的方法实例详解
JavaScript是一种流行的编程语言,用于Web开发中实现各种交互功能。其中,使用Cookie是一种常见的做法来实现用户数据跟踪和用户界面个性化等需求。下面将介绍如何在JavaScript中设置和获取Cookie的方法,并通过实例形式详细分析相关技巧。
一、设置Cookie
在JavaScript中设置Cookie非常简单。您可以使用document.cookie属性来设置Cookie的值。下面是一个简单的例子:
```javascript
document.cookie = "username=John Doe";
```
这行代码将在用户的浏览器中创建一个名为“username”的Cookie,并将其值设置为“John Doe”。您还可以设置其他属性,如过期时间(expires)和路径(path)。例如:
```javascript
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";
```
这将在用户的浏览器中创建一个名为“username”的Cookie,并将其值设置为“John Doe”,该Cookie将在2023年12月18日过期,并且适用于整个网站。
二、获取Cookie
要获取存储在浏览器中的Cookie的值,您可以使用JavaScript的document.cookie属性。下面是一个简单的例子:
```javascript
var username = document.cookie; // 获取所有Cookie的值
console.log(username); // 在控制台输出Cookie的值
```
如果只想获取特定名称的Cookie的值,可以使用split()方法将Cookie字符串拆分为数组,然后筛选出需要的Cookie。例如:
```javascript
var cookies = document.cookie.split(";"); // 将Cookie字符串拆分为数组
for (var i = 0; i < cookies.length; i++) { // 循环遍历数组,找到需要的Cookie的值
var cookie = cookies[i]; // 获取每个Cookie的名称和值
if (cookiedexOf("username") != -1) { // 如果找到名为“username”的Cookie,输出其值
console.log("Username: " + cookie.split("=")[1]); // 输出用户名值
}
}
```
三、存储与读取技巧
Cookie操作指南分享
亲爱的读者们,今天我将为大家介绍一些关于Cookie操作的实用函数。这些函数能够帮助我们在网页开发中轻松地进行Cookie的设置和获取。
一、设置Cookie
当我们想要存储用户信息或设置某些网站功能时,设置Cookie就显得尤为重要。以下是设置Cookie的函数的解读:
```javascript
function setCookie(cookieName, cookieValue, cookieExpires, cookiePath) {
// 对cookie值进行编码
cookieValue = escape(cookieValue); // 使用latin-1编码
// 若未设置cookie过期时间
if (cookieExpires == "") {
let nowDate = new Date();
nowDate.setMonth(nowDate.getMonth() + 6); // 设置未来六个月后过期
cookieExpires = nowDate.toGMTString(); // 转换为过期时间字符串
}
// 若设置了cookie路径
if (cookiePath != "") {
cookiePath = ";Path=" + cookiePath; // 设置cookie路径属性
}
// 设置document的cookie属性
document.cookie = cookieName + "=" + cookieValue + ";expires=" + cookieExpires + cookiePath;
}
```
二、获取Cookie
当我们想要获取之前设置的Cookie信息时,可以使用以下函数:
```javascript
function getCookieValue(cookieName) {
let cookieValue = document.cookie; // 获取所有cookie信息字符串
let cookieStartAt = cookieValuedexOf("" + cookieName + "="); // 寻找特定cookie的起始位置
// 如果未找到,尝试另一种方式查找(兼容旧版浏览器)
if (cookieStartAt == -1) {
cookieStartAt = cookieValuedexOf(cookieName + "="); // 不包含等号两边的双引号查找
}
// 如果仍然未找到,返回null;否则获取并解码cookie值
if (cookieStartAt != -1) {
cookieStartAt = cookieValuedexOf("=", cookieStartAt) + 1; // 找到等号的位置加一并作为起始位置索引值(跳过等号)
```html
function window_onload() {
var userNameElem = document.getElementById('userName');
var passwordElem = document.getElementById('password');
var currUserElem = document.getElementById('currUser');
// 检查用户名输入框是否为空,为空则聚焦到用户名输入框,否则聚焦到密码输入框
if (userNameElem.value === "") {
userNameElem.focus(); // 用户名输入框获得焦点提示用户输入用户名
} else {
passwordElem.focus(); // 密码输入框获得焦点提示用户输入密码
}
}
function login() {
var userNameElem = document.getElementById('userName');
var passwordElem = document.getElementById('password');
var currUserElem = document.getElementById('currUser');
var nowDate = new Date(); // 获取当前日期时间对象
var cookieExpires; // 用于存储cookie过期时间的变量
// 如果用户选择记住用户名,则设置cookie存储用户名信息;否则删除已存储的用户名cookie信息。
if (currUserElem.checked) {
setCookie("currUser", userNameElem.value, "", ""); // 设置cookie存储用户名信息以便下次自动登录使用。注意在真实环境中需要处理安全性问题。
} else {
平面设计师
- javascript设置和获取cookie的方法实例详解
- Jquery Easyui菜单组件Menu使用详解(15)
- vue实现歌手列表字母排序下拉滚动条侧栏排序实
- 帝国cms常用标签汇总
- bootstrap multiselect下拉列表功能
- 原生js实现的贪吃蛇网页版游戏完整实例
- Vue.js的动态组件模板的实现
- Bootstrap的aria-label和aria-labelledby属性实例详解
- ASP.NET Core集成微信登录
- 30个提高Web程序执行效率的好经验分享
- SQL Server数据类型转换方法
- JS制作简单的三级联动
- jQuery中用on绑定事件时需注意的事项
- 深入理解Node.js中通用基础设计模式
- JS实现滑动门效果的方法详解
- Node.js与Sails ~项目结构与Mvc实现及日志机制