JavaScript上的“Safari on iPad”和“Safari on iPhone”之间可能存在差异

时间:2014-02-05 22:36:26

标签: javascript iphone ipad mobile-safari

我有一个涉及Google Maps API和一些JavaScript代码的项目。该页面基于jQuery Mobile构建。我在桌面和各种手机上的Chrome,FireFox,Opera和IE上测试了网页。

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

似乎根本没有加载Google Maps API。它应该在页面加载后初始化,然后在页面内显示一个地图。但没什么。此外,没有关于查询用户位置的警报,这在使用iPad时会发生。

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

我找到了问题并解决了它。

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

在检测到位置服务被禁用时,我必须为iOS用户发出警告消息。在设备的隐私设置中启用后,该应用程序可在所有设备上完美运行。

对于需要的人,补丁代码为here