찾다
웹 프론트엔드CSS 튜토리얼HTML5 WebStorage(HTML5 로컬 저장 기술)_CSS/HTML

WebStorage는 HTML5의 로컬 저장소 솔루션 중 하나입니다. HTML5의 WebStorage 개념이 도입되기 전에는 IE 사용자 데이터, 플래시 쿠키, Google Gears 및 기타 신뢰할 수 없는 솔루션이 제거된 브라우저 호환 로컬 저장소 솔루션입니다. 쿠키만 사용합니다. 일부 학생들은 쿠키 로컬 저장소가 있는데 왜 WebStorage 개념을 도입해야 합니까?라고 질문할 수 있습니다.

쿠키가 왜 이래

쿠키의 단점은 너무나 뻔합니다

1. 데이터 크기: 저장 컨테이너로서 쿠키의 크기는 약 4KB로 제한되어 있으며 이는 특히 현재의 복잡한 비즈니스 로직 요구 사항에 대해 일부 구성 필드를 저장하는 것 외에도 간단한 저장도 가능합니다. 단일 값 정보. 대부분의 개발자는 실제로 무엇을 기대해야 할지 모릅니다.
2. 보안 문제: HTTP 요청의 쿠키는 일반 텍스트로 전달되므로(HTTPS는 그렇지 않음) 보안 문제는 여전히 큽니다.
3. 네트워크 부담: 쿠키가 각 HTTP 요청에 첨부되고 HttpRequest 및 HttpResponse의 헤더로 전송되므로 불필요한 트래픽 손실이 추가된다는 것을 알고 있습니다.

웹스토리지

WebStorage는 HTML을 위한 새로운 로컬 저장소 솔루션 중 하나이지만 쿠키를 대체하기 위해 개발된 표준은 아닙니다. 쿠키는 클라이언트 및 서버 통신을 처리하는 HTTP 프로토콜의 일부로 필수적입니다. 구현에 따라 다릅니다. 상태 지속성. WebStorage의 목적은 쿠키를 사용해서는 안 되지만, 쿠키를 사용해야 하는 로컬 저장 문제를 해결하는 것입니다.
WebStorage는 localStorage와 sessionStorage라는 두 가지 유형의 API를 제공합니다. 두 가지의 차이점은 이름을 보면 대략적으로 알 수 있습니다. localStorage는 명시적으로 삭제되거나 지워지지 않는 한 데이터를 로컬에 영구적으로 저장합니다. 해당 세션은 일정 기간 동안 유효하며 브라우저를 닫으면 자동으로 삭제됩니다. 두 개체 모두 공통 API를 가지고 있습니다.

코드 복사 코드는 다음과 같습니다.

interface Storage {
readonly attribute unsigned 긴 길이;
DOMString? 키(부호 없는 긴 인덱스);
getter DOMString getItem(DOMString 키);
setter 생성자 void setItem(DOMString 키, DOMString 값);
deleter void RemoveItem(DOMString 키) );
무효 클리어();
};

1. 길이: 저장소의 키-값 쌍 수를 가져오는 데 사용되는 유일한 속성, 읽기 전용입니다.
2. key: 인덱스를 기반으로 스토리지의 키 이름을 가져옵니다.
3. getItem: 키를 기반으로 스토리지의 해당 값을 가져옵니다.
4. setItem: 키-값 쌍을 추가합니다. 저장소
5.removeItem: 키 이름에 따라 키-값 쌍을 삭제합니다
6. 지우기: 저장소 개체를 지웁니다

WebStorage 사용 방법

WebStorage를 구현한 브라우저에서 페이지에는 localStorage와 sessionStorage라는 두 개의 전역 개체가 있습니다.
HTML5 WebStorage(HTML5 로컬 저장 기술)_CSS/HTML
localStorage를 예로 들어 보겠습니다. , 간단한 연산 코드를 보세요

코드 복사 코드는 다음과 같습니다

var ls=localStorage;
            console.log(ls.length);//0
            ls.setItem('name','Byron');
            ls.setItem(' age','24');
            console.log(ls.length);//2

            //遍历localStorage
            for(var i=0;i                /*
                  나이 : 24
                 이름 : 바이런
         */                var key=ls.key(i);
                console.log(key+' : '+ls .getItem(key));
            }

            ls.removeItem('age');

          
            for(var i=0;i               /*
                  이름 : 바이런
               */
              var key=ls.key(i);                console.log(key+' : '+ls.getItem(key));
            }
            ls.clear();//0
            console.log(ls.length);


사례


동일한 HTML5가 정의하는 저장소 작업, WebStorage에서 WebStorage发生变化적 时候触发, 可以용 此监视가 다른 저장소에 대한 작업

🎜>

复代码 代码如下:
interface StorageEvent : Event {
  읽기 전용 속성 DOMString key;
  읽기 전용 속성 DOMString? oldValue;
  읽기 전용 속성 DOMString? newValue;
  읽기 전용 속성 DOMString url;
  읽기 전용 속성 저장소? StorageArea;
};

1、key:键值对的键
2、oldValue:修改之前的value
3、newValue:修改之后的value
4、url:触发改动的页faceurl
5、StorageArea:发生改变的Storage
재index.php중정义


复代码 代码如下:

复主代码 代码如下:
window.addEventListener('storage',function(e) {
               console.log(e.key+'는 '+e.url에 의해 '+e.oldValue+'에서 '+e.newValue+'로 변경됨);
               console.log(e.storageArea ==localStorage) ;
            },false);

            localStorage.setItem('userName','Byron');

test.php


复aze代码 代码如下:
localStorage.setItem('userName ','캐스퍼');

Lorsque vous cliquez sur le lien sur la page index.php pour accéder à test.php, vous pouvez voir le journal de sortie de la console d'index.php :
userName est modifié de Byron à Casper par http://localhost/test .php
vrai

Pourquoi c'est mieux que les cookies

1. En termes de capacité, WebStorage fournit généralement 5M d'espace de stockage dans les navigateurs, ce qui n'est pas suffisant pour stocker des vidéos et des images, mais c'est suffisant pour la plupart des opérations
2 En termes de sécurité, WebStorage ne le fait pas. joue un rôle L'en-tête HTTP est envoyé par le navigateur, il est donc relativement sûr
3. En termes de trafic, comme WebStorage n'est pas transmis au serveur, le trafic inutile peut être économisé, ce qui reste très pratique pour les hautes fréquences visites ou pages Web ciblant les appareils mobiles. Pas mal.
Cela ne signifie pas que WebStorage peut remplacer les cookies, mais avec WebStorage, les cookies ne peuvent faire que ce qu'ils sont censés faire : servir de canal d'interaction entre le client et le serveur et maintenir l'état du client. WebStorage est donc supérieur aux cookies, tout comme une solution de stockage local.

Choses à noter

1. Compatibilité des navigateurs, c'est presque la plus simple à implémenter parmi toutes les nouvelles fonctionnalités HTML5, car les navigateurs IE8+ la prennent en charge, et dans IE7, IE6 peut être implémenté. en utilisant les données utilisateur d'IE.

HTML5 WebStorage(HTML5 로컬 저장 기술)_CSS/HTML
2. Puisque localStorage et sessionStorage sont tous deux des objets, vous pouvez également obtenir et modifier des paires clé-valeur via ".key" ou "[key]", mais cela n'est pas recommandé.
HTML5 WebStorage(HTML5 로컬 저장 기술)_CSS/HTML
 2. 由于localStorage和sessionStorage都是对象,所以我饿每年也可以通过”.key”或”[key]”的方式获取、修改键值对,但不推荐这么做 。
复制代码 代码如下:

localStorage.userName='Frank';
console.log(localStorage['userName']);

3.虽然localStorage存储在本地,但不同的浏览器存储存储数据是独立的,所以在Chrome上存储的localStorage在FireFox上是获取不到的。
4. localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理,低版本IE可以使用json2.js
5.除了控制台,Chrome还为本地存储提供了非常直观的显示方式,调试的时候很方便
Copier le code Le code est le suivant :
localStorage.userName='Frank'; HTML5 WebStorage(HTML5 로컬 저장 기술)_CSS/HTML console.log(localStorage['userName']);
3. Bien que localStorage soit stocké localement, différents navigateurs stockent les données indépendamment, de sorte que le localStorage stocké sur Chrome n'est pas disponible. sur FireFox. 4. localStorage et sessionStorage ne peuvent stocker que des types de chaînes. Pour les objets complexes, vous pouvez utiliser le stringify et l'analyse des objets JSON fournis par ECMAScript pour les gérer. Pour les versions inférieures d'IE, vous pouvez utiliser json2.js. 5. En plus de la console, Chrome propose également une méthode d'affichage très intuitive du stockage local, très pratique lors du débogage
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
html5的div一行可以放两个吗html5的div一行可以放两个吗Apr 25, 2022 pm 05:32 PM

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别是什么html5中列表和表格的区别是什么Apr 28, 2022 pm 01:58 PM

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

html5怎么让头和尾固定不动html5怎么让头和尾固定不动Apr 25, 2022 pm 02:30 PM

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有哪些html5中不支持的标签有哪些Mar 17, 2022 pm 05:43 PM

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是什么HTML5中画布标签是什么May 18, 2022 pm 04:55 PM

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了哪个列表标签html5废弃了哪个列表标签Jun 01, 2022 pm 06:32 PM

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

Html5怎么取消td边框Html5怎么取消td边框May 18, 2022 pm 06:57 PM

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

html5为什么只需要写doctypehtml5为什么只需要写doctypeJun 07, 2022 pm 05:15 PM

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음