我有一个非常基本的 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)上,当您最小化浏览器时,它会暂停,即不再记录该位置。
有没有办法强制网页在移动设备上“保持活跃”?我知道应用程序有类似的功能,您可以返回主屏幕并且应用程序继续运行。
如您所见,这不是“会话丢失”问题,它只是页面上的所有脚本在未查看网页时停止。