繁体   English   中英

无法使用具有导航地理位置的jQuery Mobile加载Javascript

[英]Javascript won't load using jQuery Mobile with navigation-geolocation

我在使用jQuery Mobile,javascript并获取geolocaton时遇到问题。

当我进入页面时,当前正在使用以下代码来加载代码:

$(document).on('pageinit', function(){

如果用户已将可见性设置为visible,则显示ID为visible的div,这是我第一次调用地理位置的方法:

if ($('#visible').length) {
    navigator.geolocation.getCurrentPosition(sucessHandler, errorHandler);
}

之后,我每20秒调用一次地理位置定位:

setInterval(function() {
    if ($('#visible').length) {
        navigator.geolocation.getCurrentPosition(sucessHandler);
    }
}, 20000);

我的问题是,如果我离开该页面的某个子页面,然后返回此页面,则这些代码将不会再次运行。 我尝试了以下方法来加载javascript,而不是pageinit:

$(document).on('pagebeforeshow', '#index', function(){  

$(document).on('pageinit', '#index', function()

我也尝试将其加载到索引主体中。

任何帮助将不胜感激=)

问候,弗雷德

首先,您可能需要考虑将navigator.geolocation.getCurrentPosition()替换为navigator.geolocation.watchPosition() 每次设备收到位置更新时,这将调用成功或错误处理程序功能,而不是您需要每20秒ping它以查看它是否已更改。

关于页面更改,只要您使用的是多页面模板,那么在导航到任何子页面或从任何子页面导航时都应调用处理程序函数。

这是一个JS小提琴说明

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM