`
kinglong
  • 浏览: 32343 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Cookie类第三版

阅读更多
针对原来Cookie类使用起来不太方便,去掉用不上的冗余方法,并参考了js里的Cookie对象,出了第三版Cookie类
package com.klstudio{
	import flash.net.SharedObject;

	/**
	 * Cookie Cookie类
	 * @author kinglong
	 * @since 2012-1-9
	 */
	public class Cookie {
		private var _expires : uint;
		private var _name : String;
		private var _so : SharedObject;

		/**
		 * 构造
		 * @param name Cookie名称
		 * @param expires 过期值(单位小时)
		 */
		public function Cookie(name : String, expires : uint = 24) {
			_name = name;
			_expires = Math.max(expires, 1);
			_so = SharedObject.getLocal(name, "/");
			
			//clearAllExpires
			for (var key : String in _so.data) {
				if (_so.data[key] is Object) {
					var data : Object = _so.data[key];
					if (data.hasOwnProperty("expires") && data.hasOwnProperty("value")) {
						var nowTime : Number = new Date().getTime();
						if (Number(data["expires"]) > nowTime) {
							continue;
						}
					}
				}
				delete _so.data[key];
			}
		}

		/**
		 * Cookie名称
		 */
		public function get name() : String {
			return _name;
		}

		/**
		 * Cookie过期值(单位小时)
		 */
		public function get expires() : uint {
			return _expires;
		}

		/**
		 * 清除所有
		 */
		public function removeAll() : void {
			_so.clear();
		}

		/**
		 * 清除指定属性
		 * @param key Cookie属性
		 */
		public function remove(key : String) : * {
			var result : * = get(key);
			if (result != null) {
				delete _so.data[key];
				_so.flush();
			}
			return result;
		}

		/**
		 * 获取Cookie属性值
		 * @param key Cookie属性
		 * @return Cookie属性值
		 */
		public function get(key : String) : * {
			return contains(key) ? _so.data[key]["value"] : null;
		}

		/**
		 * 添加Cookie属性
		 * @param key Cookie属性
		 * @param value Cookie属性值
		 * @return 旧的Cookie属性值
		 */
		public function put(key : String, value : *) : * {
			var day : Date = new Date();
			var result : * = get(key);
			_so.data[key] = {expires:day.getTime() + expires * 1000 * 60 * 60, value:value};
			return result;
		}

		/**
		 * Cookie属性是否存在
		 * @param key Cookie属性
		 */
		public function contains(key : String) : Boolean {
			if (_so.data.hasOwnProperty(key)) {
				if (_so.data[key] is Object) {
					var data : Object = _so.data[key];
					if (data.hasOwnProperty("expires") && data.hasOwnProperty("value")) {
						var nowTime : Number = new Date().getTime();
						if (Number(data["expires"]) > nowTime) {
							return true;
						}
					}
				}
				delete _so.data[key];
				_so.flush();
			}
			return false;
		}
	}
}

分享到:
评论

相关推荐

    cookie高级操作技巧

    在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"隐私"(Privacy) 在"隐私"的设置里,中间偏下有四个按钮,点击第四个按钮"默认"(Default) 点击按钮"确定"(OK),关闭cookie设置窗口 点击按钮"确定"...

    Java网络编程(第三版)中文版.part09.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part11.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part06.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part07.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part01.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part03.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part04.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part02.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part10.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part13.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part05.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part12.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part08.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)高清中文版.part01.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    PHP经典实例(第三版

    或者想要学习如何完成一个特定的任务?那么一定要先看看这本书。...特别是对生成动态Web内容的解决...程序构建模块:变量、函数、类和对象。 Web编程:cookie、表单、会话和认证。 使用PDO、SQLite和其他扩展访问数据库。

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    第20章 ActiveRecord第三部分:对象生命周期 295 20.1 校验 295 20.2 回调 303 20.3 高级属性 308 20.4 事务 311 第21章 ActionController:路由与URL 317 21.1 基础 317 21.2 请求的路由 318 21.3 基于资源的路由 ...

    第三方JavaScript编程(电子书 文字版 完整版)Ben Vinegar

    《第三方JavaScript编程》共10章,分别介绍了第三方JavaScript的定义、如何加载和执行代码、DOM渲染、第三方脚本和数据服务器之间的通信、跨窗口的消息传递方法、身份验证和cookie、第三方应用程序的安全性、...

Global site tag (gtag.js) - Google Analytics