2014-02-05 3 views
0

Google Maps API 및 일부 JavaScript 코드와 관련된 프로젝트가 있습니다. 이 페이지는 jQuery Mobile을 기반으로합니다. 크롬, 파이어 폭스, 오페라, 인터넷 익스플로러 (IE), 데스크탑 및 다양한 휴대 전화에서 테스트 한 웹 페이지가 있습니다."Safari on iPad"와 JavaScript의 "Safari on iPhone"의 차이점

iPhone (4, 5)에서만 작동하지 않습니다. 내 말은 안드로이드, WP8, 크롬 아이폰 시뮬레이터, 심지어 iPad (Air, 문제라면)에서 완벽하게 작동한다는 것입니다.

Google Maps API가 전혀로드되지 않은 것처럼 보입니다. 페이지가로드 된 후 초기화되어야하며 페이지 내에지도가 표시되어야합니다. 그러나 아무것도 없습니다. 또한 iPad를 사용할 때 발생하는 사용자 위치 쿼리에 대한 경고도 없습니다.

iPhone의 Safari는 iPad, OS 7.0.4, Apple WebKit 537.51.1, Safari 9537.53의 Safari와 같은 버전입니다. 장치가 동일한 WiFi 네트워크에 연결되어 있습니다. Mac이 없기 때문에 지금은 원격 디버깅 기능을 사용할 수 없습니다.

응용 프로그램의 문제점에 대한 간단한 아이디어가 있습니까? 자바 스크립트 내부에있는 것 같지만 잘못된 것일 수 있습니다.

감사합니다.

+0

"페이지가 jQuery Mobile을 기반으로 빌드되었습니다." 내 짐작으로 jQuery 모바일 문제 일 수 있습니다. 비 jquery html 페이지에서 GMaps API 및 함수를로드하고 해당 방식으로 작동하는지 확인하십시오. – adrian7

+0

@ adrian7 좋은 지적입니다. jQM을 제거하고 작동하는지 확인해 보겠습니다. – msg7086

+0

@ adrian7 jQM 관련, CSS 및 JS를 모두 제거했습니다. 문제는 동일하게 유지됩니다. iPhone은 아니지만 어디서나 작동합니다 (못생긴). – msg7086

답변

1

문제점을 발견하여 해결했습니다.

iPhone에서 사파리 (기본적으로)에 대해 위치 서비스가 사용 중지 되었기 때문입니다. 그러나 내 iPad (그것이 기본값인지 확실하지 않음)에서 활성화되어 위치 서비스 API와는 다른 반응을 얻습니다.

위치 서비스가 사용 중지 된 것을 감지하면 iOS 사용자에게 경고 메시지를 보내야합니다. 기기의 개인 정보 보호 설정에서 사용하도록 설정하면 애플리케이션이 모든 기기에서 완벽하게 작동합니다.

패치 코드는 필요한 사람들을위한 here입니다.

관련 문제