현재 위치 - 인적 자원 플랫폼망 - APP 자료 - Html5 로컬 저장소에는 몇 가지 시나리오가 있습니까?
Html5 로컬 저장소에는 몇 가지 시나리오가 있습니까?
Html5 의 로컬 저장소에는 다섯 가지 시나리오가 있습니다.

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

"구식" 으로 돌아갑니다.

깨뜨리다

기본값:

알 수 없는 캐시 상태를 반환합니다.

깨뜨리다

}