Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“之间可能存在的差异”;iPad上的Safari“;及;iPhone上的Safari;关于JavaScript_Javascript_Iphone_Ipad_Mobile Safari - Fatal编程技术网

“之间可能存在的差异”;iPad上的Safari“;及;iPhone上的Safari;关于JavaScript

“之间可能存在的差异”;iPad上的Safari“;及;iPhone上的Safari;关于JavaScript,javascript,iphone,ipad,mobile-safari,Javascript,Iphone,Ipad,Mobile Safari,我有一个项目涉及谷歌地图API和一些JavaScript代码。该页面基于jQuery Mobile构建。我已经在Chrome、FireFox、Opera和IE桌面上以及各种手机上测试了该网页 它不仅适用于iPhone(4或5)。我的意思是,在Android、WP8、Chrome iPhone模拟器下,一切都很好,甚至可以在iPad上完美运行(如果需要的话,可以使用Air) 谷歌地图API似乎根本没有加载。它应该在页面加载后初始化,然后在页面内显示一个映射。但是什么都没有。此外,在使用iPad时,

我有一个项目涉及谷歌地图API和一些JavaScript代码。该页面基于jQuery Mobile构建。我已经在Chrome、FireFox、Opera和IE桌面上以及各种手机上测试了该网页

它不仅适用于iPhone(4或5)。我的意思是,在Android、WP8、Chrome iPhone模拟器下,一切都很好,甚至可以在iPad上完美运行(如果需要的话,可以使用Air)

谷歌地图API似乎根本没有加载。它应该在页面加载后初始化,然后在页面内显示一个映射。但是什么都没有。此外,在使用iPad时,也没有关于查询用户位置的警告

iPhone上的safari与我的iPad、OS 7.0.4、Apple WebKit 537.51.1、safari 9537.53上的版本相同。这些设备连接到同一个WiFi网络。由于没有Mac,我现在无法使用远程调试功能

关于应用程序的问题有什么简单的想法吗?我怀疑它在JavaScript中,但我可能错了


谢谢。

我已经找到问题并解决了

这是因为iPhone上的safari(默认情况下)禁用了位置服务。但是,它在我的iPad上启用(不确定是否为默认设置),因此我从位置服务API得到了不同的反应

当检测到位置服务被禁用时,我必须向iOS用户发出警告消息。在设备的隐私设置中启用后,该应用程序在所有设备上都能正常工作


补丁代码是为那些需要的人准备的。

“该页面基于jQuery Mobile构建”。我的猜测是,这可能是jQuery手机的问题。尝试在非jquery html页面中加载GMaps API和函数,并检查它是否以这种方式工作。@adrian7听起来不错。我将尝试剥离jQM,看看它是否有效。@adrian7我已经删除了所有与jQM相关的内容,CSS和JS。问题依旧。它在其他任何地方都能工作(虽然很难看),但在iPhone上不能。你是说GMaps API没有加载吗?@adrian7我不确定它是否没有加载GMaps API,或者是否有任何JS错误阻止了地图的显示。只是无法区分它们。