一个简单的cookie框架(JS版)

/*\
|*|
|*|  :: cookies.js ::
|*|
|*|  A complete cookies reader/writer framework with full unicode support.
|*|
|*|  Revision #1 - September 4, 2014
|*|
|*|  https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
|*|  https://developer.mozilla.org/User:fusionchess
|*|  https://github.com/madmurphy/cookies.js
|*|
|*|  This framework is released under the GNU Public License, version 3 or later.
|*|  http://www.gnu.org/licenses/gpl-3.0-standalone.html
|*|
|*|  Syntaxes:
|*|
|*|  * docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])
|*|  * docCookies.getItem(name)
|*|  * docCookies.removeItem(name[, path[, domain]])
|*|  * docCookies.hasItem(name)
|*|  * docCookies.keys()
|*|
\*/

var docCookies = {
  getItem: function (sKey) {
    if (!sKey) { return null; }
    return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null;
  },
  setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {
    if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)) { return false; }
    var sExpires = "";
    if (vEnd) {
      switch (vEnd.constructor) {
        case Number:
          sExpires = vEnd === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : "; max-age=" + vEnd;
          break;
        case String:
          sExpires = "; expires=" + vEnd;
          break;
        case Date:
          sExpires = "; expires=" + vEnd.toUTCString();
          break;
      }
    }
    document.cookie = encodeURIComponent(sKey) + "=" + encodeURIComponent(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");
    return true;
  },
  removeItem: function (sKey, sPath, sDomain) {
    if (!this.hasItem(sKey)) { return false; }
    document.cookie = encodeURIComponent(sKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "");
    return true;
  },
  hasItem: function (sKey) {
    if (!sKey) { return false; }
    return (new RegExp("(?:^|;\\s*)" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie);
  },
  keys: function () {
    var aKeys = document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, "").split(/\s*(?:\=[^;]*)?;\s*/);
    for (var nLen = aKeys.length, nIdx = 0; nIdx < nLen; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }
    return aKeys;
  }
};

原文:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/cookie/Simple_document.cookie_framework

转载于:https://my.oschina.net/u/2400070/blog/3046691

Vast.ai GPU服务器租用与SSH密钥连接实战指南 本文详细介绍了如何在Vast.ai平台租用GPU服务器并通过SSH密钥安全连接的全流程。从注册、选配GPU型号到SSH密钥生成与配置,再到实战中的端口转发和文件传输技巧,帮助用户高效利用云端GPU资源进行深度学习等计算密集型任务。 阅读详情

相关推荐

新手友好!C#上位机调用YOLO实现设备异常检测(详细步骤,附踩坑指南)

C#上位机调用YOLO实现设备异常检测,核心是把“工控交互”和“AI检测”的优势结合起来,新手不用追求一步到位,先跑通基础流程,再逐步优化性能和功能。我当初也是从踩坑中过来的,只要把核心链路和细节摸透,其实门槛并没有想象中高。如果你们在实操中遇到了具体问题(比如相机取流卡顿、模型推理报错),可以在评论区留言,后续我也可以针对性拆解具体模块的完整代码。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 633

一个插件 js-cookie

//js cookie 2.2的类型定义 //项目:https://github.com/js-cookie/js-cookie //定义:Theodore Brown<https://github.com/theodorejb> //弯曲机<https://github.com/BendingBender> //安托万·莱佩<https://github.com/alepee> //玉藤岛<https://github.com/yutod> //尼古拉斯·.

青蛙king的博客 642

NVIDIA Isaac Sim 联合 VS Code 开发调试环境配置

在 Visual Studio Code (VS Code) 中打开 Isaac Sim 软件包主文件夹,即可打开该工作区。注意建议在学习教程和示例时使用 Visual Studio Code。另请参见有关 VS Code 工作区的详细信息,请参阅 Visual Studio Code (VS Code) 文档。

2506_90492529的博客 3064

【亲测免费】 推荐开源项目:Cookie Consent —— 遵守隐私法规的智能JavaScript插件

在这个数字时代,网站数据隐私保护显得尤为重要。为此,我们向您强烈推荐一个名为Cookie Consent的轻量级JavaScript插件。它旨在帮助您的网站轻松符合欧盟的EU Cookie Law、加州消费者隐私法案(CCPA)以及全球其他隐私法规。 ## 项目简介 Cookie Consent是一个直观易用的工具,用于在用户访问网站时提示他们关于cookies使用的相关信息。这个项目由奥斯纳...

gitblog_00077的博客 557

js-cookie插件

js-cookie 一、安装 npm install js-cookie --save 二、引用 import Cookies from 'js-cookie' 三、一般使用 存到Cookie去 // Create a cookie, valid across the entire site: Cookies.set('name', 'value'); // Create a cookie ...

岁末zzz的博客 203

操作cookies的js框架

昨天做项目的同时,写了一个操作cookies的js框架,比较符合jsp或者asp操作cookies的习惯(因为javascript里本身没有这样的对象,操作cookies等于操作字符串,所以比较麻烦)。源代码已经上传,以下是框架接口说明:对象:document.xCookie / xCookie (两个对象同等)方法:document.xCookie.load(d) 预加载当前已存cookies,

pepoble的专栏 396

js-cookie:轻量级 cookie 框架

js-cookie:轻量级 cookie 框架 文章目錄js-cookie:轻量级 cookie 框架簡介參考正文Import 引入方法CDNNPMjs-cookie 接口說明三種基本方法語法避免衝突Cookie Attribute 屬性說明1. expires 屬性2. path 屬性3. domain 屬性4. secure 屬性5. sameSite 屬性Converters 攔截器封裝結語 簡介 當前前後端分離網頁常常會使用 http/https 協議搭配 RESTful 風格作為接口約定,由於 h

超悠閒的博客 1119

Cookie的使用(基于js-cookie插件)

Cookie的使用(基于js-cookie插件)。

我的博客 5576

js-cookie 关于js-cookie 什么是js-cookie js-cookie的使用

js-cookie是什么? js-cookie一个简单的,轻量级的处理cookies的js API,用来处理cookie相关的插件 js-cookie的使用方法 一、先下载 npm install --save js-cookie **二、引入 安装好js-cookie插件后,在我们需要处理cookie的地方,简单的通过import引入就可以使用了 import Cookies from 'js-cookie' 三、js-cookie的添加 获取 删除 添加cookie // 创建一个名称为name,

———————————————————————————————— 4万+

JavaScript Cookie

Cookie 是服务器发送到用户浏览器并保存在本地的一小段文本数据,通常以名/值对形式存储,例如。浏览器会在后续请求中将 Cookie 发送回服务器,使基于无状态的 HTTP 协议能够记录稳定的状态信息。保持用户登录状态(如会话管理)。存储用户偏好设置(如语言选择)。跟踪用户行为(如广告跟踪)。在 JavaScript 中,开发者主要通过属性来操作 Cookie。需要注意的是,Cookie 的大小通常限制在 4KB,且每个域名下 Cookie 数量有限(通常 20-50 个,具体取决于浏览器)。

likuoelie的博客 1794

前端存储Cookie,使用JavaScript 或js-cookie

在前端登录时,存储 Cookie 是一种常见的做法,用于在用户的浏览器中保存会话信息(如认证令牌、用户ID等)。以下是如何在前端存储 Cookie 的基本步骤和示例代码。使用JavaScript 或js-cookie......

qq_53911056的博客 1914

JS Cookie Monitor/Debugger Hook:终极JavaScript Cookie逆向调试工具完全指南

你是否曾经在逆向JavaScript代码时,为追踪Cookie生成位置而苦恼?面对混淆得亲妈都不认识的JS代码,苦苦寻找Cookie生成逻辑?JS Cookie Monitor/Debugger Hook就是专为解决这一痛点而生的终极JavaScript Cookie逆向调试工具!🎯 这个强大的工具不仅能实时监控Cookie的所有操作变化,还能在特定条件下自动触发断点,让你轻松定位Cookie

gitblog_00220的博客 946

JavaScript Cookie 终极指南:简单高效的浏览器Cookie管理库

在Web开发中,**浏览器Cookie管理**是每个前端开发者必须掌握的核心技能。**js-cookie**作为一款轻量级、简单易用的JavaScript Cookie管理库,能够帮助开发者轻松处理客户端Cookie操作,提升开发效率。无论你是初学者还是有经验的开发者,这个库都能让你的Cookie管理工作变得更加简单高效。 ## 📦 什么是js-cookie? **js-cookie**是一

gitblog_00253的博客 1105

简单解析JavaScript中的cookie对象

简单解析JavaScript中的cookie对象 前面说大了BOM的存储对象,现在简单了解一下cookie对象。 Cookie 用于存储 web 页面的用户信息。 大小限制为 4k。 安全性差。 1.创建cookie var aBtns = document.getElementsByTagName("button"); // 创建cookie document.cookie="name=value,name1=value1;expires= ;path=/"

qq_39155611的博客 2157

jquery.cookie.js一个Cookie 操作变简单的小工具

Hi,我是前端人类学!Cookie 是前端必备存储方案,常用于保存登录态、用户偏好与行为数据。但原生 document.cookie 语法繁琐、操作不便,使用体验较差,因此 jquery.cookie.js 应运而生,大幅简化了 Cookie 读写操作。

chaosweet的博客 334

nodejs死亡笔记之cookie和session(宇宙级框架express)

首先,我必须义正言辞的吐槽一下这个宇宙级框架!express3.x和expss4.x差别怎么就那么大呢?找了好多资料来学习,但总是莫名其妙的报错,一开始我以为是因为我长得不好看,后来发现。。。我用的是4.x的express,而教程是3.x的,好多都对不上号。我@#¥%……&*()&……¥好了,吐槽结束,进入正题。作为一个励志改变世界的程序员,我们必须紧跟时代的潮流,所以nodejs死亡笔记都是基于e

mystery的博客 1万+

js-cookie使用心得

项目是vue项目,其中cookie操作采用了github上面比较火热的js-cookie,这里结合需求总结体会。首先安装npm install js-cookie --save其次结合项目,我这里是封装成公共方法写了个专门的js存放cookie的操作。import Cookies from 'js-cookie' const TokenKey = 'token' export function...

u013344993的博客 8240

正则表达式

\s: space, 空格 +: 一个或多个 ^: 开始,^\s,以空格开始 $: 结束,\s$,以空格结束 |:或者 /g:global, 全局 replace() 替换 整体为如果cookie一个或多个空格开始,替换全部空格为空,或者,如果cookie一个或多个空格结束,替换全部空格为空。 var cookie = "  this is a cookie value...

Firemaple 359

打造自己的js(cookie)

                                        打造自己的js(cookie) 这一篇是用来封装存、取cookie的方法。 namespace('gu.cookie'); extend(gu.cookie,{ /** * 设置cookie,最好先用navigator.cookieEnable判断一下cookie是否可用 * @...

何足道的博客 495

JavaScript使用框架Cookies

在讲述 window 对象的时候,我们提到过,一个框架内的网页也是 window 对象,也就是说,Frame 对象也是 window 对象。用最容易理解的话说,每一个 HTML 文件占用一个 window 对象,包括定义框架的网页(“框架网页”)。在 IE 里用“”标记在文档中插入的框架也是 window 对象,但是用“包含网页”的方法(在 HTML 中显示为“”)读取的 HTML 就不占用独自的

深海软件信息技术服务网【云中*深海】 662

Flask框架cookie的基本设置

设置cookie 设置cookie是在Response的对象上设置。 flask.Response对象有一个set_cookie方法,可以通过这个方法来设置cookie信息。 以key,value形式设置信息。 查看cookie信息 在Chrome浏览器中查看cookie的方式: 方式1 借助于 开发调式工具进行查看 方式2 在Chrome的设置界面->高级设置->内容设置->...

why404 1086

mapbox style样式文件,从mapbox studio下载的矢量地图样式配置

mapbox style样式文件,从mapbox studio下载的矢量地图样式配置

OpenCV MFC利用橡皮筋类CRectTracker选择图像roi区域创建模板图像_rezip.zip

OpenCV(开源计算机视觉库)是一个强大的图像处理和计算机视觉工具包,被广泛应用于各种领域,包括图像分析、机器学习和人工智能。MFC(Microsoft Foundation Classes)是微软提供的一套面向对象的C++库,用于构建Windows应用程序。在这个项目中,我们将OpenCV与MFC结合,利用MFC中的CRectTracker类实现用户交互式地选择图像ROI(感兴趣区域)并创建模板图像。CRectTracker类是MFC中的一个实用工具,它允许用户通过拖动鼠标在窗口上画出一个矩形区域,就像橡皮筋一样。这个类提供了跟踪矩形边角的能力,使得用户可以方便地调整矩形的大小和位置。在OpenCV中,我们需要这种交互性来让用户指定他们感兴趣的图像区域,这通常是用于匹配、识别或其他特定分析任务。在实现过程中,你需要在MFC应用中集成OpenCV库,创建一个窗口控件显示图像。然后,你可以为该控件添加消息处理函数,监听WM_LBUTTONDOWN、WM_LBUTTONUP和WM_MOUSEMOVE消息,这些消息分别对应于鼠标的左键按下、释放和移动事件。当用户在图像上点击并拖动时,CRectTracker会跟踪这个矩形区域,并更新其位置和大小。一旦用户完成选择,你可以获取CRectTracker实例中的矩形坐标,并将其映射到原始图像的像素坐标。OpenCV提供了`cv::Rect`类来表示图像上的矩形区域,你可以创建一个`cv::Rect`对象来保存用户选择的ROI。然后,你可以使用这个矩形区域从原始图像中裁剪出一个新的图像,这就是模板图像。模板图像在计算机视觉中有多种用途,例如模板匹配。在OpenCV中,可以使用`cv::matchTemplate`函数进行模板匹配,它会计算模板图像和目标图像之间的相似度,返回一个匹配结果图,高亮显示出与模板最匹配的区域。为了提高用户体验,你可能还需要考虑一些额外的功能,如实时预览选定的ROI,或者提供撤销/重做操作。此外,确保正确处理边界情况,比如用户选择的矩形区域超出图像边界。这个项目结合了OpenCV的强大图像处理功能和MFC的用户界面优点,实现了用户友好的图像ROI选择。通过CRectTracker类,我们可以创建一个交互式的图形界面,允许用户自由地选择感兴趣的图像区域,进而生成模板图像,这对于许多计算机视觉应用来说是非常有用的。

上一篇: RN使用WebView注意事项
下一篇: RN调试
chipeng6838
博客等级 码龄10年 3粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值