仲夏 发表于 2009-3-17 08:14:09

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>>), 暂时以解决在实际应用中的问题为主。
    使用方法:



www.ad119.cn/bbs/attachments/basic/20090317/20093178124012577801.gif
< SCRIPTsrc ="js/jquery.js"temp_src ="js/jquery.js"type =text/javascript ></ SCRIPT >

www.ad119.cn/bbs/attachments/basic/20090317/20093178124012577801.gif


www.ad119.cn/bbs/attachments/basic/20090317/20093178124012577801.gif
< SCRIPTsrc ="js/jquery.ui.all.js"temp_src ="js/jquery.ui.all.js"type =text/javascript ></ SCRIPT >

www.ad119.cn/bbs/attachments/basic/20090317/20093178124012577801.gif


www.ad119.cn/bbs/attachments/basic/20090317/20093178124012577801.gif
< SCRIPTsrc ="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代码如下:



www.ad119.cn/bbs/attachments/basic/20090317/20093178124018777802.gif

www.ad119.cn/bbs/attachments/basic/20090317/20093178124023477803.gif
$('document').ready( function (){   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124028177804.gif
   //here, we allow the user to sort the items   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124032877805.gif

www.ad119.cn/bbs/attachments/basic/20090317/20093178124037577806.gif
   $('#list3').sortable( {   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124028177804.gif
      axis: 'y',   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124028177804.gif
      cursor: 'move',   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124032877805.gif

www.ad119.cn/bbs/attachments/basic/20090317/20093178124037577806.gif
      update:function (){ $('#list3').cookie(); }   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124042177807.gif
    } );   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124028177804.gif


www.ad119.cn/bbs/attachments/basic/20090317/20093178124028177804.gif
   //here, we reload the saved order   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124028177804.gif
   $('#list3').decookie();   

www.ad119.cn/bbs/attachments/basic/20090317/20093178124046877808.gif
} );

www.ad119.cn/bbs/attachments/basic/20090317/20093178124012577801.gif
页: [1]
查看完整版本: JCookie-基于JQuery的Cookie增强插件