ID #6537

Javascript Widget之一: JCookie-基于JQuery的Cookie增强插

JQuery中的cookie 插件,太过于简单,只是对cookie做一个简单的封装,在实际应用中还需要做大量的工作。所以一直想做一个增强型的cookie插件,更方便使用。

从需求的角度讲,在电子商务应用当中,cookie的灵活应用对于用户体验非常重要,可以记忆用户的经常重复性的操作,个人偏好,等等。可惜很多的应用,并不擅长使用cookie.经常是输入一大堆搜索查询条件、可选操作后,再回退、刷新、再次登录后没有了,还要重新输入,非常恼火。所以我觉得能够智能化的记住用户的常用操作,是非常体贴用户、让用户感动的事情。

从技术的角度讲,一个high-level的javascript cookie API应当能够:

1).保存一个复杂的javascript Object. 这个类实例里可以包含基本类型、类成员变量等。

2).保存一个复杂的DOM节点的状态

如:保存一个表单中各种控件的状态,如输入框、下拉选择框、单选复选框

3).界面的布局和风格,如Portal中用户偏好的theme、窗口的大小、位置、个数等等。

4).用户经常性的操作结果,如排序等等。

我编写了一个增强型的基于Jquery的cookie插件JCookie(点此查看和下载Demo>>), 暂时以解决在实际应用中的问题为主。

使用方法:

< SCRIPT src ="js/jquery.js" temp_src ="js/jquery.js" type =text/javascript ></ SCRIPT >
< SCRIPT src ="js/jquery.ui.all.js" temp_src ="js/jquery.ui.all.js" type =text/javascript ></ SCRIPT >
< SCRIPT src ="js/jquery.cookie.js" temp_src ="js/jquery.cookie.js" type =text/javascript ></ SCRIPT >

1.保存和恢复一个复杂的javascript 类实例。

var obj = new Object(); //你可以任意构造一个复杂成员变量的类实例。
var key = 'form_id';
$.cookie(key, obj);//保存一个实例
var obj = $.cookie(key); //恢复一个实例

2.保存和恢复一个表单中的字段值到cookie中

3.保存和恢复一个Sortable List的顺序到cookie中

$('#list3').cookie();
//
将list的各个item的顺序保存到cookie中
$('#list3').decookie();
//
从cookie中恢复一个list的各个item的顺序

sortable List 的HTML代码如下:

$('document').ready( function () {
   // here, we allow the user to sort the items
  $('#list3').sortable( {
  axis: 'y',
  cursor: 'move',
  update: function () { $('#list3').cookie(); }
  } );
   // here, we reload the saved order
   $('#list3').decookie();
  } );


2011-07-01 18:55
阅读:
I'm VC , Just U know Y
本站部分文章来源于互联网,版权归原作者所有。

延伸阅读:

jquery使用attr访问自定义属性,减少javascript脚本中

web前台技术学习总结(3)-轻便型全站javascript部署

jQuery(1)--jQuery前传JavaScript101

窥探jQuery——面向JavaScript程序员

Javascript Resize和Drag类,基于jQuery