LocalStorage에는 브라우저에 두 개의 API가 있습니다 : LocalStorage 및 SessionStorage는 Window 개체에 존재합니다. LocalStorage는 Window.localStorage에 해당하며 SessionStorage는 Window.SessionStorage에 해당합니다.
LocalStorage와 SessionStorage의 차이는 주로 생존 때문입니다.
기본 사용localstorage.setitem (b, isaac); 키 이름, 여기 BlocalStorage.removeItem (b);범위
여기서 기능의 역할은 다음을 나타냅니다. 다른 페이지들 사이에서 로컬 스터를 분리하는 방법 (Baidu의 페이지 인 Hahaha에서 Tencent의 LocalStorage를 읽을 수 없습니다).
LocalStorage는 동일한 프로토콜, 동일한 호스트 이름 및 동일한 포트와 동일한 LocalStorage 데이터를 읽고 수정할 수 있습니다.
SessionStorage는 프로토콜, 호스트 이름, 포트 외에도 동일한 창 아래에 있어야합니다.
활착LocalStorage는 이론적으로 영구적이고 효과적입니다. 즉, 저장된 데이터가 브라우저에서 지정된 크기를 초과하더라도 이니셔티브를 사용하지 않으면 사라지지 않습니다. 그러나 모바일 장치의 브라우저 또는 각 기본 앱에서 사용하는 WebView의 웹 뷰에서 LocalStorage는 다양한 이유 (예 : 앱 종료, 네트워크 스위칭, 불충분 한 메모리 등) 때문일 수 있습니다. ) 분명한.
이름에서 알 수 있듯이 SessionStorage의 생존 기간은 브라우저가 꺼지는 한 (브라우저 탭 페이지 포함) 지워집니다. SessionStorage의 생존 기간이 너무 짧기 때문에 응용 프로그램 시나리오는 매우 제한적이지만 반면에 비정상적인 조건을 갖고 더 신뢰할 수있는 것은 쉽지 않습니다.
데이터 구조LocalStorage는 표준 키-값 쌍 (key value (kv) 데이터 유형으로 간단하지만 확장하기 쉽습니다. 코딩 메소드에 사용되는 한 로컬 스터리지를 문자열로 저장하려는 객체를 변환하는 한 It. 쉽게 지원할 수 있습니다. 예를 들어 : 객체를 JSON 문자열로 변환하면 사진을 DataUrl (Base64)으로 변환 할 수 있습니다. 또한 키 값 유형의 경우 데이터 유형의 경우 키의 유일한 특성도 매우 중요합니다.
만료 시간불행히도, LocalStorage는 설정 시간을 설정하려면 설정 시간을 지원하지 않습니다.
함수 세트 (key, value) {var curtime = new date () Sequence} 함수 get (key, exp) // exp는 설정 시간입니다 JSON 객체 if (new date (). gettime () -dataobj.time> exp) // 현재 시간이 시간에 설정된 스토리지 요소가 시간에 설정된 스토리지 요소 {console.log (만료); /// prompt 만료} else {console.log (value =+dataobj.val);}}용량
현재 업계는 기본적으로 5m로 통일되어 4K의 쿠키보다 훨씬 큽니다.
도메인 이름 제한브라우저의 보안 전략으로 인해 LocalStorage는 크로스 도메인이 될 수 없으며, 하위 도메인 이름은 부모 도메인 이름의 LocalStorage 데이터를 상속받을 수 없습니다.
비정상적인 치료현재 브라우저 환경에서는 현지 스토리지가 완전히 안정적이지 않습니다. 저는 LocalStorage가 자원의 현지화를 최적화하는 방법이라고 생각합니다. 현지 스토리지의 비정상적인 처리는 일반적으로 시도/캐치로 비정상을 포착/프로세스하는 데 사용됩니다.
사용자의 현재 브라우저가 LocalStorage를 지원하는지 테스트하는 방법현재의 일반적인 접근법은 Window.localStorage가 존재하는지 여부를 감지하는 것입니다. 그러나 일부 브라우저에는 LocalStorage가 지원되지만 실제 프로세스에서 Setitem ()과 같은 낮은 수준의 버그가있을 수 있습니다. 따라서 브라우저가 Try/Catch 구조에서 테스트 데이터를 설정하여 LocalStorage를 지원하는지 확인할 수 있습니다.
브라우저 호환성 디버그하는 방법Chrome Developer Tools의 Resources -local Storage 패널 및 리소스 -세션 스토리지 패널은 현재 도메인 이름으로 LocalStorage 데이터를 볼 수 있습니다.
iOS 장치에서 setim ()을 반복 할 수 없습니다또한 setitem ()가 iPhone/iPad에서 설정되면 Weird Quota_ExCeedED_ERR 오류가 나타납니다.
권장 플러그 -인Store.js
모질라/지역파
Localfont
위는 Xiaobian이 소개 한 HTML5의 현지 설명에 대한 자세한 설명입니다. VEVB WULIN 웹 사이트를 지원해 주셔서 대단히 감사합니다!