【发布时间】:2012-07-14 01:05:44
【问题描述】:
我有以下 JS 获取用户的当前位置并显示他们的邮政编码...
(function ($, geolocation) {
if (geolocation) {
geolocation.getCurrentPosition(function (position) {
$.getJSON(
"http://ws.geonames.org/findNearestAddressJSON?callback=?",
{
lat : position.coords.latitude,
lng : position.coords.longitude
},
function (data) {
$(function () {
$('#zip').text(data.address.postalcode);
});
}
);
});
}
}(jQuery, navigator.geolocation));
请在 CodeReview 上提供帮助,因为我的原始代码非常糟糕,https://codereview.stackexchange.com/questions/13481/to-use-or-not-to-use-public-variables-in-javascript/13483#comment21844_13483
HTML:
<div id="zip"></div>
...然后在 div 中显示邮政编码。
这在移动版 Safari 和桌面版 Safari 中都能正常工作,但我一添加 apple-mobile-web-app-capable 元标记,代码就会中断。
我在每一步之后都将代码日志记录到控制台,并且在常规 Safari 和 Mobile Safari 中都可以顺利运行。一旦我将它添加到我的主屏幕(头部带有元标记),该应用程序甚至不会运行 JS 代码。它也没有麻烦登录到控制台,这让我想知道 WebApps 中是否允许定位服务。
如果在从主屏幕运行时重新加载页面,也会出现此问题。
有没有办法解决这个问题?这是一个常见的问题吗?
【问题讨论】:
标签: javascript jquery iphone ios iphone-standalone-web-app