0

저는 jQuery Mobile, HTML5 및 PhoneGap Build를 사용하여 교차 플랫폼 앱을 만드는 프로젝트에서 작업하고 있습니다. 우리가 목표로 삼고있는 플랫폼에는 Symbian^3이 포함됩니다.jQuery Mobile 및 PhoneGap 빌드로 Symbian^3에서 세션 저장

사용자 ID 및 로그인 여부와 같은 일부 세션 데이터를 추적 할 수 있어야합니다. 심비안은 내가 시도한 솔루션 중 아무 것도 작동하지 않는 것처럼 고통 스럽습니다. .

나는 시도했다 :

  • HTML5 sessionStorage와 localStorage를합니다. 이 두 가지로 인해 Symbian의 앱이 호출 되 자마자 멈출 수 있습니다.
  • 쿠키. 설정 후에 바로 액세스하더라도 Undefined를 반환합니다.
  • 전역 변수. 나는 일부 var가 앱에서 사용하도록 정의 된 .js 파일을 만들었습니다. 이 스크립트는 필요할 수있는 각 HTML 파일의 헤드에 포함되어 있습니다. 세션 데이터를 잃어버린 페이지 사이를 전환 할 때 변수가 다시 정의되기 때문에 불행히도 이것은 작동하지 않습니다.

웹 검색 및 실험을 통해 내가 할 수있는 한계에 도달 했으므로 여기서 처음으로 질문합니다. 실제로 코드 샘플을 많이 업로드하지 않아도 일부 코드 샘플을 업로드해도 좋을 것 같습니다.

실제 질문 : Symbian의 jQuery Mobile 응용 프로그램에서 세션 전환을 유지하면서 세션 컨텍스트를 만들려면 어떻게해야합니까?

답변

0

JQM의 작동 방식을 이해해야합니다. 페이지 A에서 시작하여 페이지 B로 이동하면 실제로 페이지 A를 떠나지 않습니다. 대신 JQM AJAX - 페이지 B를 요청하고 <div data-role="page"></div> 외부의 모든 것을 제거하고이를 DOM에 추가합니다.

이것은 링크에서 data-ajax="false"을 설정하지 않는 한, 응용 프로그램의 어느 위치에 있더라도 항상 DOM이 "활성"상태를 유지한다는 것을 의미합니다.

a.js 파일이 페이지 A에만로드되고 (페이지 B, C, D ...에서 제외되므로) 옵션 3 (전역 변수)이 작동해야합니다. 변수를 덮어 쓰면 변수를 덮어 쓰는 것입니다. a.js의 내용을 표시해야합니다.

또 다른 옵션은 하나 같이 data() (api)를 사용하여 직접 DOM으로 유지해야하는 정보를 첨부하는 것입니다 : 그것은 그 많은 정보가 아니라면

$('html').data("foo": bar) 

이 나, 단지 데이터 속성을 사용

$('html').jqmData("some","thing"); 
+0

도움 주셔서 감사합니다. 제안 된 방법은 다른 플랫폼에서도 작동하지만 Symbian은 여전히 ​​문제를 일으키고 있습니다. AJAX 탐색이 플랫폼에서 제대로 지원되지 않기 때문일 수 있습니다. 우리는 대신 Symbian을 위해 원시 dev을하기로 결정했습니다. – Iyashu5040