JavaScript는 쿠키 기반 스토리지 클래스 instance_javascript 기술을 구현합니다.
이 기사의 예에서는 JavaScript에서 쿠키 기반 저장소 클래스를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
이 JS 클래스를 통해서는 세션처럼 쿠키를 사용할 수 있는데, 아주 간단해요!
/* * CookieStorage.js * 本类实现像localStorage和sessionStorage一样的存储API * 不同的是,它是基于HTTP Cookies实现的. */ function CookieStorage(maxage, path) { // 两个参数分别代表储存有效期和作用域 // 获取一个储存全部cookies的对象 var cookies = (function() { // 类型之前介绍的getCookies函数 var cookies = {}; // 该对象最终会返回 var all = document.cookie; // 以大字符串的形式获取所有cookies的信息 if (all === "") // 如果该属性为空白符 return cookies; // 返回一个空对象 var list = all.split("; "); // 分离出名/值对 for(var i = 0; i < list.length; i++) { // 遍历每个cookie var cookie = list[i]; var p = cookie.indexOf("="); // 找到第一个“=”符号 var name = cookie.substring(0,p); // 获取cookie的名字 var value = cookie.substring(p+1); // 获取cookie对应的值 value = decodeURIComponent(value); // 对其值进行解码 cookies[name] = value; // 将名值对存储到对象中 } return cookies; }()); // 将所有cookie的名字存储到一个数组中 var keys = []; for(var key in cookies) keys.push(key); // 现在定义储存API公共的属性和方法 // 储存的cookies的个数 this.length = keys.length; // 返回第n个cookie的名字,如果n越界则返回null this.key = function(n) { if (n < 0 || n >= keys.length) return null; return keys[n]; }; // 返回指定名字的cookie值,如果不存在则返回null this.getItem = function(name){ return cookies[name] || null; }; // 储存cookie值 this.setItem = function(key, value) { if (!(key in cookies)) { // 如果要促成的cookie还不存在 keys.push(key); // 将指定的名字加入到储存所有cookie名的数组中 this.length++; // cookies个数加一 } // 将该名/值对数据存储到cookie对象中. cookies[key] = value; // 开始正式设置cookie. // 首先将要储存的cookie的值进行编码 // 同时创建一个“名称=编码后的值”形式的字符串 var cookie = key + "=" + encodeURIComponent(value); // 将cookie的属性也加入到该字符串中 if (maxage) cookie += "; max-age=" + maxage; if (path) cookie += "; path=" + path; // 通过document.cookie属性来设置cookie document.cookie = cookie; }; // 删除指定的cookie this.removeItem = function(key) { if (!(key in cookies)) return; // 如果cookie不存在,则什么也不做 // 从内部维护的cookies组删除指定的cookie delete cookies[key]; // 同时将cookie中的名字也在内部的数组中删除. // 如果使用ES5定义的数组indexOf()方法会更加简单. for(var i = 0; i < keys.length; i++) { // 遍历所有的名字 if (keys[i] === key) { // 当我们找到了要找的那个 keys.splice(i,1); // 将它从数组中删除. break; } } this.length--; // cookies个数减一 // 最终通过将该cookie的值设置为空字符串 //以及将有效期设置为0来删除指定的cookie. document.cookie = key + "=; max-age=0"; }; // 删除所有的cookies this.clear = function() { // 循环所有的cookies的名字,并将cookies删除 for(var i = 0; i < keys.length; i++) document.cookie = keys[i] + "=; max-age=0"; // 重置所有的内部状态 cookies = {}; keys = []; this.length = 0; }; }
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 웹사이트는 3월 7일 화웨이의 데이터 스토리지 제품 라인 사장인 Zhou Yuefeng 박사가 최근 MWC2024 컨퍼런스에 참석하여 웜 데이터(WarmData)와 콜드 데이터(ColdData)용으로 설계된 차세대 OceanStorArctic 자전 스토리지 솔루션을 구체적으로 시연했다고 보도했습니다. Huawei의 데이터 스토리지 제품 라인 사장 Zhou Yuefeng은 일련의 혁신적인 솔루션을 출시했습니다. 이미지 출처: 이 사이트에 첨부된 Huawei의 공식 보도 자료는 다음과 같습니다. 이 솔루션의 가격은 자기 테이프보다 20% 저렴하며, 전력 소비는 하드 디스크보다 90% 낮습니다. 해외 기술 매체인 blockandfiles에 따르면, Huawei 대변인은 자기전기 저장 솔루션에 대한 정보도 공개했습니다. Huawei의 자기전자 디스크(MED)는 자기 저장 매체의 주요 혁신입니다. 1세대 ME

인터넷의 대중화로 인해 우리는 브라우저를 사용하여 인터넷 서핑을 하는 것이 생활 방식이 되었습니다. 브라우저를 일상적으로 사용하다 보면 온라인 쇼핑, 소셜 네트워킹, 이메일 등 계정 비밀번호를 입력해야 하는 상황에 자주 직면하게 됩니다. 이 정보는 다음에 방문할 때 다시 입력할 필요가 없도록 브라우저에 기록되어야 합니다. 이때 쿠키가 유용합니다. 쿠키란 무엇입니까? 쿠키는 서버가 사용자의 브라우저에 전송하고 로컬에 저장되는 작은 데이터 파일을 말하며 일부 웹사이트의 사용자 행동을 포함합니다.

Git은 빠르고 안정적이며 적응력이 뛰어난 분산 버전 제어 시스템입니다. 분산된 비선형 워크플로를 지원하도록 설계되어 모든 규모의 소프트웨어 개발 팀에 이상적입니다. 각 Git 작업 디렉터리는 모든 변경 사항에 대한 전체 기록을 보유하고 네트워크 액세스나 중앙 서버 없이도 버전을 추적할 수 있는 독립적인 저장소입니다. GitHub는 분산 개정 제어의 모든 기능을 제공하는 클라우드에 호스팅되는 Git 저장소입니다. GitHub는 클라우드에서 호스팅되는 Git 저장소입니다. CLI 도구인 Git과 달리 GitHub에는 웹 기반 그래픽 사용자 인터페이스가 있습니다. 이는 다른 개발자와 협력하고 스크립트 변경 사항을 추적하는 버전 제어에 사용됩니다.

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

sessionStorage를 올바르게 사용하여 민감한 정보를 저장하려면 특정 코드 예제가 필요합니다. 웹 개발이든 모바일 애플리케이션 개발이든 사용자 로그인 자격 증명, ID 번호 등과 같은 민감한 정보를 저장하고 처리해야 하는 경우가 많습니다. 프런트엔드 개발에서는 sessionStorage를 사용하는 것이 일반적인 스토리지 솔루션입니다. 그러나 sessionStorage는 브라우저 기반 스토리지이기 때문에 저장된 민감한 정보가 악의적으로 접근 및 사용되지 않도록 몇 가지 보안 문제에 주의가 필요합니다.

쿠키 설정에 대한 일반적인 문제와 해결 방법, 구체적인 코드 예제가 필요합니다. 인터넷의 발전과 함께 쿠키는 가장 일반적인 기존 기술 중 하나로 웹사이트와 애플리케이션에서 널리 사용되었습니다. 간단히 말해서 쿠키는 로그인 이름, 장바구니 내용, 웹사이트 기본 설정 등을 포함하여 웹사이트에 사용자의 정보를 저장하는 데 사용할 수 있는 사용자의 컴퓨터에 저장되는 데이터 파일입니다. 쿠키는 개발자에게 필수적인 도구이지만 동시에 쿠키 설정도 자주 접하게 됩니다.

우리는 매일 컴퓨터와 인터넷을 사용하면서 종종 쿠키에 노출됩니다. 쿠키는 당사의 웹사이트 방문 기록, 기본 설정 및 기타 정보를 저장하는 작은 텍스트 파일입니다. 이 정보는 웹사이트에서 더 나은 서비스를 제공하기 위해 사용될 수 있습니다. 하지만 때로는 원하는 콘텐츠를 찾기 위해 쿠키 정보를 찾아야 할 때도 있습니다. 그렇다면 브라우저에서 쿠키를 어떻게 찾을 수 있을까요? 먼저 쿠키가 어디에 있는지 이해해야 합니다. 브라우저에서

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가
