現在のユーザーの郵便番号を表示する次の JS があります#zip
。
(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));
ページをリロードする JS 関数もあります。
$('.reload').click(function(){
window.location.reload(true);
});
Mobile Safari では、これら 2 つの機能がうまく連携します。ユーザーが Web ページを開くと、ユーザーの現在の郵便番号が読み込まれます。次に、ユーザーが場所を変更した場合、ユーザーはボタンをタップしてページをリロードできます。が存在する場合を除いて、これは正常に機能し<meta name="apple-mobile-web-app-capable" content="yes">
ます。
存在する場合、次のことが起こります。
- ユーザーがホーム画面のアイコンをタップします
<meta name="apple-mobile-web-app-capable" content="yes">
これと同様に、アドレスバーが非表示になっている Web ページが開きます。- 郵便番号は正常に読み込まれます
- ユーザーが場所を移動し、再読み込みボタンをタップします
- ページに郵便番号が表示されず、コンソールにエラーが記録されない
私はこれを修正する方法に本当にこだわっていますが、これがまったく役立つ場合は、ここに実際の例があります: