Layui 引入jQuery.Cookie插件
使用
首先你需要下载jQuery.Cookie.js
下载地址
然后将
文件复制粘贴至你的项目的静态文件资源中,我和layui引入的jquery.js放在一起并将文件改名为了cookie.js,如下图所示
然后修改cookie.js的文件内容(后面有详细的修改好的js)
layui.define('jquery', function (exports) { //依赖jQuery var jQuery = layui.jquery; //插件内容 将jquery.cookie.js文件的内容复制到此处 exports('jquery.cookie', null);
});
//使用方法
layui.use('jquery.cookie', function () {});
我修改后的完整的js文件,可以直接复制替换到你的jquery.cooki.js
layui.define(["jquery"], function (exports) {var jQuery = layui.jquery;(function ($) {/*!* jQuery Cookie Plugin v1.4.1* https://github.com/carhartl/jquery-cookie** Copyright 2013 Klaus Hartl* Released under the MIT license*/(function (factory) {if (typeof define === 'function' && define.amd) {// AMDdefine(['jquery'], factory);} else if (typeof exports === 'object') {// CommonJSfactory(require('jquery'));} else {// Browser globalsfactory(jQuery);}}(function ($) {var pluses = /\+/g;function encode(s) {return config.raw ? s : encodeURIComponent(s);}function decode(s) {return config.raw ? s : decodeURIComponent(s);}function stringifyCookieValue(value) {return encode(config.json ? JSON.stringify(value) : String(value));}function parseCookieValue(s) {if (s.indexOf('"') === 0) {// This is a quoted cookie as according to RFC2068, unescape...s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');}try {// Replace server-side written pluses with spaces.
// If we can't decode the cookie, ignore it, it's unusable.
// If we can't parse the cookie, ignore it, it's unusable.s = decodeURIComponent(s.replace(pluses, ' '));return config.json ? JSON.parse(s) : s;} catch(e) {}}function read(s, converter) {var value = config.raw ? s : parseCookieValue(s);return $.isFunction(converter) ? converter(value) : value;}var config = $.cookie = function (key, value, options) {// Writeif (value !== undefined && !$.isFunction(value)) {options = $.extend({}, config.defaults, options);if (typeof options.expires === 'number') {var days = options.expires, t = options.expires = new Date();t.setTime(+t + days * 864e+5);}return (document.cookie = [encode(key), '=', stringifyCookieValue(value),options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IEoptions.path ? '; path=' + options.path : '',options.domain ? '; domain=' + options.domain : '',options.secure ? '; secure' : ''].join(''));}// Readvar result = key ? undefined : {};// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling $.cookie().var cookies = document.cookie ? document.cookie.split('; ') : [];for (var i = 0, l = cookies.length; i < l; i++) {var parts = cookies[i].split('=');var name = decode(parts.shift());var cookie = parts.join('=');if (key && key === name) {// If second argument (value) is a function it's a converter...result = read(cookie, value);break;}// Prevent storing a cookie that we couldn't decode.if (!key && (cookie = read(cookie)) !== undefined) {result[name] = cookie;}}return result;};config.defaults = {};$.removeCookie = function (key, options) {if ($.cookie(key) === undefined) {return false;}// Must not alter options, thus extending a fresh object...$.cookie(key, '', $.extend({}, options, { expires: -1 }));return !$.cookie(key);};}));})(jQuery);exports('cookie', null);
});
然后进行cookie的路径配置(layui.config一定和 layui.use是同级,都放在最外层)
layui.config({base: '../lib/layui-v2.5.5/lay/modules/' //假设这是cookie.js所在的目录(本页面的相对路径)}).extend({ //设定模块别名//cookie: 'cookie' 如果cookie.js是在根目录,也可以不用设定别名,因为我cookie.js的是在根目录,所以这句话其实也不用写也行。});layui.use(['layer','form','jquery','cookie'], function () {var $ = layui.jquery,form = layui.form,cookie=layui.cookie,layer = layui.layer;//..... 不详细写了后面有我实际调用cookie的截图});
cookie的调用
中文乱码问题
cookie存取数据后出现中文乱码问题,这里我们利用js的escape,unescape
对存储的字符进行加密解密实现中文字符存取,但是我用了不太好使,然后利用js重新写了Setcookie方法和getCookie方法,发现可以实现中文字符存取,也是利用了escape,unescape进行加密解密
//写入cookiefunction SetCookie(name, value) {var exp = new Date();exp.setTime(exp.getTime() + 7 * 24 * 60 * 60 * 1000); //7天过期document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();return true;};//读取cookiefunction getCookie(name) {var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));if (arr != null) return unescape(arr[2]); return null;}
学习过程中借鉴了https://www.studenty.cn/?p=1000 ,表示感谢
Layui 引入jQuery.Cookie插件相关推荐
- jQuery Cookie 插件
jQuery 可以通过 jquery.cookie.js 插件来操作 Cookie. 官方地址:jQuery Cookie | jQuery Plugin Registry 前言 使用 jquery. ...
- layui引入jQuery
//第一种:主动加载jquery模块 layui.use(['jquery', 'layer'], function(){ var $ = layui.$ //重点处,layer = layui.la ...
- jquery cookie 插件 (支持json对象) 可以跟jquery 集成 也可以单独使用
为什么80%的码农都做不了架构师?>>> cookie 操作 中间件 文档 原始wiki见 http://code.google.com/p/cookies/wiki/Docu ...
- webpack引入jquery以及插件的方法(如ztree)
最近在做一个项目,项目的后端是地址: https://github.com/wangyuanjun008/wyj-springboot-security.git 前端地址是 https://githu ...
- layui 引入echarts图表插件
前言 本篇文章不是基于layui-admin官方后台模板,如果使用官方后台模板的可作参考. echart.js下载 1.修改echarts.js 注:引入前需要修改echarts.js文件,否则无法引 ...
- jQuery插件 -- Cookie插件jquery.cookie.js(转)
2019独角兽企业重金招聘Python工程师标准>>> jQuery插件 -- Cookie插件jquery.cookie.js(转) Cookie是网站设计者放置在客户端的小文本文 ...
- jQuery插件 -- Cookie插件
Cookie是站点设计者放置在client的小文本文件.Cookie能为用户提供非常多的使得,比如购物站点存储用户以前浏览过的产品列表.或者门户站点记住用户喜欢选择浏览哪类新闻. 在用户同意的情况下. ...
- jquery.cookie.js 使用方法
Cookies 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery.cookie.js基于jquery:先引入jquery,再引入:jq ...
- 案例实现jquery.cookie的操作
案例实现jquery.cookie的操作 [1]先下载jquery.cookie插件:http://download.csdn.net/download/goodshot/8276243 [2]安装插 ...
最新文章
- 制作模板_木模板制作流程
- 条件随机场CRF HMM,MEMM的区别
- 数组的合并和升序排列_JavaScript - 数组排序 6 种常见算法是什么?
- jdeveloper优化:
- mysql jdbc驱动_JDBC认识与实践
- ps efgrep mysql 命令_mysql常用管理命令
- httpclient在获取response的entity时报异常
- 数据库设计的三大范式通俗解释
- SBUS2,一个增强型的SBUS协议,可实现双向通讯功能。SBUS2和SBUS区别到底在哪呢?
- mysql 参数 innodb_flush_log_at_trx_commit
- 软件测试工程师,需要达到什么水平才能顺利拿到 20k+ 无压力?
- mysql 优化count_MySQL优化之COUNT(*)效率
- Python 程序设计方法
- pve网卡直通虚拟机pve失联打不开解决方案,不用重新安装pve
- 计算机网络 CDN技术介绍
- C++控制台游戏-小镇物语正式版 V1.7.21BUG修复版【可存档!!!】
- 如何批量下载央视CNTV的节目视频
- VB语言和C语言有什么区别
- 一文读懂SDRAM内存模组与基本概念
- dnSpy反编译工具调试netcore项目