1

我有一个非常基本的 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)上,当您最小化浏览器时,它会暂停,即不再记录该位置。

有没有办法强制网页在移动设备上“保持活跃”?我知道应用程序有类似的功能,您可以返回主屏幕并且应用程序继续运行。

如您所见,这不是“会话丢失”问题,它只是页面上的所有脚本在未查看网页时停止。

4

2 回答 2

1

您不能强制页面保持活动状态 - 这是您无法控制的,因为操作系统会暂停或删除浏览器以节省资源。

于 2013-02-26T11:22:58.633 回答
0

您可以尝试循环播放音频文件并播放它,这将有助于浏览器永远在后台运行。

于 2020-08-05T04:47:27.760 回答