2010-01-04 7 views
9

이메일/공유 지점을 통해 압축되어 공유 될 수있는 휴대용 HTML/Jav 스크립트 프로토 타입을 제작합니다. 여기에 핵심 단어는 '휴대용'입니다. 서버는 이러한 prorotypes를 실행하는 데 필요하지 않습니다. 단지 자바 스크립트를 지원하는 브라우저입니다. 그리고 데이터베이스가 없습니다.쿠키 대신

프로토 타입 중 일부는 잠재적 인 기능을 과시하기 위해 데이터를 유지해야합니다. 쿠키를 사용하여 현재이 작업을 수행합니다. 이것은 Firefox, Chrome 등에서 잘 작동하는 것으로 보이지만 Internet Explorer는 다르게 작동하는 것으로 보입니다.

도메인의 모든 쿠키에 대한 최대 크기가 IE6 및 7에서 기록되면 (아직 테스트하지 않은 8 개) 쿠키가 작동을 멈 춥니 다. 일단이 한도에 도달하면 쿠키로부터의 읽기조차도 멈추고 프로토 타입이 끊어지는 것처럼 보입니다.

서버와 데이터베이스를 사용하지 않고도 데이터를 유지할 수있는 다른 방법이 있습니까?

모든 아이디어는 크게 감사하겠습니다.

답변

6

은 숨겨진 필드 (또는 필요한 경우 여러 필드)에 데이터를 저장합니다.

쿠키에서 읽은 코드를 별도의 파일에있는 클래스/함수로 바꾼 다음 라이브/샘플 인스턴스에 대해 파일을 쉽게 바꿀 수 있습니다 (잠재적으로 한 줄 주석으로 주석 처리하는 것, 다른 쪽을 주석 처리하지 않는 것. COMMENT 인 요구에 의한

편집 :이 여러 페이지에 걸쳐 작동 , 당신은 여러 페이지에 걸쳐 숨겨진 필드의 데이터를 밀어 한한다. 한 페이지에서 다른 페이지로 POSTS를 보내지 않으려면 페이지를 프레임으로 감싸고 숨겨진 필드를 표시되지 않은 프레임 요소에 배치하십시오 (이 시나리오에서는 필드는 기술적으로 숨겨진 필드 일 필요는 없습니다.)

이것은 액세스되는 페이지가 두 개의 다른 페이지를 가리키는 FRAME 태그를 가지고 있습니까? 첫 번째 페이지는 애플리케이션 자체이며, 모든 보이는 부동산을 차지합니다. 두 번째 페이지는 데이터를 보유 할 하나 이상의 추가 컨트롤을 보유하는 페이지이며이 두 번째 페이지는 (사용자에게) 전혀 표시되지 않습니다. 이 페이지들은 모두 같은 "도메인"의 일부이므로 프레임 아이가 형제 중 하나와 이야기하고 숨겨진 페이지의 필드에 데이터를 읽고 쓰는 것은 쉬운 일입니다.

쿠키 제한은 텍스트 입력 필드가 기술적으로 컴퓨터의 메모리와 네트워크 처리량의 제한 시간에 의해서만 제한된다는 것입니다. 예를 들어, 이전에 20MB 상당의 데이터가 숨겨진 필드를 보았습니다 (악 ViewStates).

+0

안녕하세요 스티븐. 답장을 보내 주셔서 감사합니다. 나는 이것에 대해 머리를 쓰려고 고심하고있다. 조금 더 확장 할 수 있습니까? 이 방법은 여러 페이지에서 작동하며 쿠키 제한 문제를 해결하는 방법은 무엇입니까? – Sniffer

+0

나는 그것을 좋아한다! 명확히 해 주셔서 감사합니다. 일반적으로 프레임을 사용하지는 않지만이 경우에는 HTML 5가 더 많은 잠재 고객을 확보 할 때까지 의미가 있습니다. 그것은 결국 프로토 타이핑을위한 것입니다. 다시 한번 감사드립니다. – Sniffer

5

현재로서는 널리 사용 가능하지 않지만 HTML5 webstorage/localstorage가 있습니다.

+0

불행히도 솔루션은 모든 주류 브라우저에서 사용할 수 있어야합니다. 클라이언트에게 특정 브라우저를 사용하도록 강요하거나 최신 브라우저로 업그레이드하도록 강요 할 수는 없습니다. – Sniffer

+0

@Sniffer : 귀하의 위치를 ​​이해합니다. 건배. – jldupont

5

YUI Storage를 확인하십시오.

+0

흥미 롭습니다. 비록 내가 일반적으로 jQuery 라이브러리를 사용하기는하지만 이것에 대해 살펴볼 것이므로 jQuery 버전을 사용하는 것을 선호한다. – Sniffer

+0

일부 jQuery 옵션이있는 것처럼 보입니다. 그들이 얼마나 성숙한 지 잘 모릅니다. http://stackoverflow.com/questions/791412/offline-data-storage-access-using-jquery – Chris

3

Dojo Storage 당신이 100,000

까지 저장할 수 있습니다
+0

흥미 롭습니다. 비록 내가 일반적으로 jQuery 라이브러리를 사용하기는하지만 이것에 대해 살펴볼 것이므로 jQuery 버전을 사용하는 것을 선호한다. – Sniffer

+0

jQuery 버전이없는 경우, Dojo의 서브 세트 만 사용하여 저장 영역 기능을 얻을 수 있어야합니다. 대부분의 프로그래밍에 대해 jQuery를 계속 사용할 수 있어야합니다. 주의 사항 : 동일한 애플리케이션에서 개인적으로 jQuery와 Dojo를 혼합 한 적이 없습니다. –

0

HTML5 저장소 API에 관한 상황은이 질문을 받고 초기에 jldupont here 님이 답변 한 이후로 진행되었습니다.

현재 Opera Mini는 지원하지 않는 유일한 주요 브라우저입니다.

Source, 2012 년 8 월 22 일에 액세스.