1, 로컬 스토리지
LocalStorage 는 간단한 키-값 쌍 스토리지 구조입니다. 로컬 스토리지의 영구 스토리지 외에도 웹 스토리지에는 이 회신을 위한 세션 스토리지 모드가 있습니다. 일반적으로 localStorage 는 일반적으로 사용됩니다. 예제 코드는 다음과 같습니다.
함수 저장 (데이터 모델) {
Var value = datamodel.serialize ();
Window.localstorage ['data model'] = value;
Window.localstorage ['datacount'] = datamodel.size ();
Console.log (datamodel.size ()+'데이터가 저장되었습니다');
반환 값
}
함수 복원 (데이터 모델) {
Var value = window.local storage ['data model'];
If (값) {
Datamodel.deserialize (값);
Console.log (window.localstorage ['data count']+'데이터가 복원됨');
반환 값
}
\ "\" 을 (를) 반환합니다
}
함수 clear(){
If (window.local storage ['data model']) {
Console.log (window.localstorage ['datacount']+'데이터 지우기');
Deletewindow.localstorage ['데이터 모델'];
Deletewindow.localstorage ['datacount'];
}
}
2, 과자
이러한 저장 방식의 저장 내용은 매우 제한적이며 단순한 정보 저장에만 적합합니다. 액세스 인터페이스는 매우 반인간적으로 설계되었다. 예를 들면 다음과 같습니다.
함수 getCookieValue(name ){
If (document.cookie.length > 0) {
Var start = document.cookie.indexof (name+"=");
만약 (시작! ==-1) {
시작 = 시작+이름. 길이+1;
Var end = document.cookie.index of ("; ",시작);
If(end = = =- 1 ){
End = document.cookie.length;
}
Return unescape (document.cookie.substring (시작, 끝));
}
}
\ "\" 을 (를) 반환합니다
}
함수 저장 (데이터 모델) {
Var value = datamodel.serialize ();
Document.cookie =' data model ='+escape (value);
Document.cookie =' datacount ='+datamodel.size ();
Console.log (datamodel.size ()+'데이터가 저장되었습니다');
반환 값
}
3, 색인 데이터베이스 API
IndexedDB 는 구조화된 개체를 저장할 수 있으며 검색 키와 색인에 사용할 수 있습니다. 현재 IndexedDB 저장 방식은 브라우저에서 점차 지원되고 있으며 사용 코드는 다음과 같습니다. IndexedDB 의 많은 작업 인터페이스는 NodeJS 의 비동기 콜백 방식과 유사합니다. 특히 쿼리 시 커서의 continue 도 onsuccess 함수를 다시 비동기적으로 리콜하는 방식으로 작동하므로 NodeJS 와 같은 동기화 코드만큼 유용하지 않습니다.
함수 저장 (데이터 모델) {
Var tx = db.transaction ("미터", "읽기 및 쓰기");
Varstore = tx.objectstore ("meters");
Data model. each(function(data ){
Store. put ({
Id: data.getId (),
태그: data.getTag (),
이름: data.getName (),
Metervalue: data.a ('meter.value'),
Meterangle: data.a ('미터. 뿔'),
P3: data.p3 (),
R3: data.r3 (),
S3: data.s3 ()
});
});
Tx. on complete = function(){
Console.log (datamodel.size ()+'데이터가 저장되었습니다');
}
Datamodel.serialize () 를 반환합니다
}
4, 파일 시스템 API
파일 시스템 API 는 로컬 파일의 저장 모드를 조작하는 것과 같습니다. 현재 지원되는 브라우저는 많지 않고, 그 인터페이스 표준도 끊임없이 발전하고 있다. 따라서 그림을 로컬 파일에 동적으로 생성한 다음 filesystem 의 URL 을 통해 img 의 html 요소에 대한 src 액세스 (http:*** *) 에 직접 할당할 수도 있습니다.
함수 저장 (데이터 모델) {
Var value = datamodel.serialize ();
Fs.root.getfile ('meters.txt', {create: true}, function(file entry ){
Console.log (fileentry.tourl ());
FileEntry.createWriter (함수 (file writer ){
Filewriter.onwriteend = function () {
Console.log (datamodel.size ()+'데이터가 저장되었습니다');
}
Varblob = newblob ([value], {type:' text/plain'});
Filewriter.write (블럽);
});
});
반환 값
}
5, 애플리케이션 캐시
Window.applicationCache 객체는 브라우저 응용 프로그램 캐시에 대한 프로그래밍 액세스입니다. 상태 속성을 사용하여 캐시의 현재 상태를 볼 수 있습니다.
Var app cache = window.applicationcache;
스위치 (app cache. status ){
사례 appCache. UNCACHED: // UNCACHED == 0
캐시되지 않음' 을 반환합니다.
깨뜨리다
사례 appCache. IDLE: // IDLE == 1
Idle' 로 돌아가기
깨뜨리다
사례 appCache. CHECKING: // CHECKING == 2
"검사 중" 으로 돌아갑니다.
깨뜨리다
사례 appCache. 다운로드 중: // DOWNLOADING == 3
다운로드 중' 으로 돌아갑니다.
깨뜨리다
사례 appCache. 업데이트 준비://업데이트 준비 == 4
Update ready' 로 돌아가기 :
깨뜨리다
사례 appCache. 사용되지 않음: // OBSOLETE == 5
"구식" 으로 돌아갑니다.
깨뜨리다
기본값:
알 수 없는 캐시 상태를 반환합니다.
깨뜨리다
}