2009-12-24 2 views
1

나는 잠시 동안 계속 놀고있는 아이폰 OS 앱을 위해 jQTouch로 놀고있다. jQuTouch로 게임을 시작했을 때 손을 웹 앱으로 제작하려고했습니다. 참고로, 여기에 페이지 + 소스 (내 모든 코드는 index.html 현재 그래서 당신은 그냥 "소스보기"는 모든 것을 볼 수 있습니다)입니다 : 기본적으로jQuery.data()는 Mac OS WebKit에서 작동하지만 iPhone OS에서는 작동하지 않습니까?

http://rpj.me/doughapp.com/wd/

, 내가 관련 JSON을 저장하기 위해 노력하고있어 이후 다음

$('#locPane').data('selected', obj); 

(다른 "창"에서)로 객체를 검색 : 데이터() 메소드를 사용하여 DOM 객체로 Google 지역에서 검색된 개체 (이 예에서, obj는 Google 로컬 객체이다) 중고 :

$('#locPane').bind('pageAnimationEnd', function(e, inf) { 
      var selobj = $(this).data('selected'); 
      // use 'selobj' here ... 
} 

데스크톱 OS (내 사례에서는 Snow Leopard)의 Chromium과 Safari에서는 완벽하게 작동합니다 (사용해보기).

그러나 동일한 코드는 위의 두 번째 코드에서 $(this).data('selected')을 호출 할 때 undefined을 반환합니다. 나는 또한 $('#' + e.target.id).data('selected') 및 심지어 순진한 $('#locPane').data('selected') 시도했습니다. 모든 변형은 WebKit의 iPhone OS 버전에서는 undefined을 반환하지만 데스크톱에서는 그렇지 않습니다.

흥미롭게도 iPhone 시뮬레이터 에서 Mobile Safari를 실행하면도 실패합니다.

전체 소스를 보면이 객체를 내 코드의 jqt이라는 글로벌 jQTouch 객체에 저장하려고 시도하는 것을 볼 수 있습니다. 이것 역시 모바일 플랫폼에서 실패합니다.

누구도이 문제를 겪은 적이 있습니까? 나는 무역으로 웹/자바 스크립트 프로그래머가되지 않는다는 것을 인정할 것이다. 그래서 나는 바보의 실수를 저에게 부탁한다.

도움을 위해 미리 감사드립니다! -RPJ

업데이트 : 내가 원래 게시물에 분명히하지 않았다,하지만 지속적으로 작동하는지 내가 어떤 해결 방법에 열려있어. 이러한 객체를 일반적으로 저장하는 데 문제가 있으므로 지금까지는 객체를 유지할 수있는 모든 것이 좋습니다. 감사!

답변

1

모바일 사파리에 이와 같은 개체를 저장하는 버그가있는 것 같습니다. 그래서 내가 한 것은 문서 데이터 저장소에 개체의 구성 요소를 저장하는 것입니다.

$(document).data("lessonCode" , lesson.lessonCode); 
$(document).data("question" , lesson.question); 
$(document).data("answer" , lesson.answer); 
+0

불행히도, 나는이 방법으로도 운이 없었습니다. $ (document) 데이터 저장소에 원시 데이터 객체 (예 : 문자열)를 저장하려고 시도했지만 검색시 정의되지 않은 값으로 끝났습니다. – rpj

2

HTML5 데이터 참조 속성을 사용해 보셨나요? 데이터는 문자열이어야하지만 할 수만 있다면

$('#locPane').attr('data-selected', "somestring"); 

유효한 HTML5 마크 업이 있습니다.

관련 문제