我有一个非常基本的HTML5页面设置供离线使用,告诉我它何时离线以及何时在线。
我已添加位置跟踪功能,以记录设备运行时的位置:
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
alert('geolocation not supported');
}
setTimeout(function() { getLocation(); },5000); // calls itself every 5 seconds
}
这似乎运作良好,但是存在一个小问题。
在桌面浏览器上,您可以最小化页面并保持记录位置。
在移动设备(即iOS)上,当您最小化浏览器时,它会被暂停,即不再记录该位置。
有没有办法强制网页在移动设备上“保持活力”?我知道有一个类似的应用程序功能,你可以回到主屏幕,应用程序继续运行。
正如您所看到的,这不是“会话丢失”问题,只是在网页未被查看时页面上的所有脚本都停止了。
答案 0 :(得分:1)
您无法强制页面保持活动状态 - 这是您无法控制的,因为操作系统会暂停或破坏浏览器以节省资源。
答案 1 :(得分:0)
您可以尝试让音频文件循环播放并播放,这将有助于浏览器永远在后台运行。