因为Cookie中不能直接存储Array集合,只能存储Javascript基本数据类型。所以我这边采用把Array集合转换成JSON对象进行存储就可以实现。同理处理Object对象也是一样。
function addHistory(_hcObj){
var _hclx = _hcObj.hclx;
var array = JSON.decode(getCookie("HISTORY"+_hclx));//Cookie中存放的数组通过解码方式还原
if(array != null && array.length > 0){
while(true){
if(array.length >= 5){
array.splice(0,1);//剔除array数组中第一个对象。数组中只保留不超过5个对象
}else{
break;
}
}
array.push(_hcObj);//array数组中填充对象
setCookie("HISTORY"+_hclx,JSON.encode(array),1);//array
数组通过编码之后,存放在Cookie中
}else{
array = new Array();
array.push(_hcObj);
setCookie("HISTORY"+_hclx,JSON.encode(array),1);
}
}
下面提供一个通过的JS文件下载。
分享到:
相关推荐
以上内容详细介绍了阮一峰所编写的 JavaScript 教程中涵盖的知识点,从基础语法到高级特性,覆盖了编程、开发中需要掌握的大部分概念和用法。这本教程特别适合初学者作为入门书籍,内容详尽,理论与实践相结合,配合...
- **Cookie**: 相反,Cookie是将信息存储在客户端(用户的浏览器)中。服务器通过HTTP响应头设置Cookie,浏览器会在后续请求中自动附带这些Cookie信息。Cookie的大小有限制,且存在安全风险,因为数据直接暴露给用户...
- **数据类型**:JavaScript的数据类型分为原始类型(如`number`、`string`、`boolean`)和对象类型(如`object`、`array`、`function`)。 - **对象**:对象是一组属性的集合,每个属性都是一个键值对。 - **数组**...
- `length`: 表示元素集合中元素的数量。 - **示例**: ```javascript var elements = document.querySelectorAll('input'); console.log(elements.length); // 输出输入元素的数量 ``` **3. Form对象** - **...
4. **数组对象(Array)**:JavaScript的数组是动态大小的数据集合,可以存储任意类型的值。它们提供了丰富的内置方法,如`push()`, `pop()`, `slice()`, `forEach()`等,方便我们操作和处理数据。 5. **字符串对象...
- **用户界面定制**:根据Cookie中存储的信息调整页面显示。 ##### 20.61 程序详解 - **读写Cookie**:使用JavaScript进行操作。 - **安全性**:限制Cookie的有效时间和路径,避免被恶意读取。 #### 二十一、时钟...
- **定义**:一种传统的方法,在网页中捕获JavaScript错误。 - **用法**:定义一个全局的`onerror`函数来处理未被捕获的错误。 - **示例**: ```javascript window.onerror = function(errorMessage, fileName, ...
根据给定文件中的标题、描述、标签以及部分内容,本文将详细介绍如何使用JavaScript生成验证码,并管理相关的Cookie信息。 ### 一、验证码生成与显示 #### 1. 验证码生成函数 `createValidateCode()` 该函数用于...
通过完成这个"Cookie Stand: Class06实验室"项目,学习者不仅可以巩固JavaScript的基础知识,还能了解到如何将编程技能应用到实际问题中,提升问题解决和编程思维能力。同时,这也是一个很好的机会,让学习者熟悉Web...
#### 1.1 关于JavaScript JavaScript是一种轻量级的、解释型或即时编译的编程语言。它主要应用于网页开发中,用于增加网页的交互性和动态效果。JavaScript是由Netscape公司的Brendan Eich在1995年发明的,初衷是...
- **Binary Arrays**:如 `Uint8Array`,用于操作 ArrayBuffer 中的数据。 - **TextDecoder/TextEncoder**:分别用于解码和编码文本数据。 - **Blob**:表示一个不可变的、原始数据的类文件对象。 - **File/...
6. **会话管理**:使用session和cookie来存储用户信息,实现会话跟踪。 7. **数据库交互**:MySQL数据库的连接、查询、插入、更新、删除操作,使用预编译语句防止SQL注入。 8. **错误和异常处理**:理解PHP的错误...
- 迭代器是一种设计模式,用于遍历集合中的元素,提供了一系列方法如`hasNext()`和`next()`。 4. **`Iterator`与`ListIterator`的区别** - `Iterator`只能向前遍历集合。 - `ListIterator`不仅可以向前遍历,还...
cookie一般用于存储用户身份信息,而token是一种服务器验证用户的方法,存储时可以考虑使用HttpOnly属性防止XSS攻击。 25. Vue的双向数据绑定原理: Vue利用Object.defineProperty对数据进行劫持,通过Watcher监听...
5. **数组与集合**:JavaScript提供了Array、Map、Set等数据结构,以及Array方法如push、pop、slice、forEach等。 6. **字符串与正则表达式**:字符串是不可变的,提供了多种操作字符串的方法,而正则表达式用于...
- **Cookies**: 存储在客户端的键值对集合。 - **Application**: 应用程序级别的共享对象。 - **Server.Transfer**: 在服务器端跳转到另一个页面。 ### 3. 斐波那契数列的实现 ```csharp public class MainClass {...
数组和字符串是JavaScript中最常用的数据类型之一,ES6为它们添加了一些新的实用方法,如Array.from()、Array.of()、String.prototype.includes()等,这些新方法使得操作数组和字符串变得更加简洁。 ### 十一、原型...