脚本无法在非活动选项卡上运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脚本无法在非活动选项卡上运行相关的知识,希望对你有一定的参考价值。

我有地理定位的脚本。它仅在用户在网站上时才有效。当浏览器被盗用或选项卡处于非活动状态时,脚本无效。我该如何解决?

var int=self.setInterval(function(){getLocation()},2000);
function getLocation()
{
    navigator.geolocation.getCurrentPosition(showPosition);
}

function showPosition(position)
{
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    console.log('Position: '+latitude+' '+longitude);
    $.ajax({
    type : "POST",
    data : { latitude : latitude, longitude : longitude },
    url : "mylinktosaveposition",
    success : function(data){}
    });
}
答案

这是浏览器内置的安全功能,没有办法解决这个问题!浏览器在处于非活动状态时会简单地冻结或关闭脚本,以提高活动选项卡的性能并减少电池供电设备的耗电量。如果您正在考虑因任何原因对地理人员进行地理处理,我建议您创建一个应用程序。看看离子是cordova上的一个框架,它使用angular来构建iosandroid的应用程序,用于javascript / html等语言。

以上是关于脚本无法在非活动选项卡上运行的主要内容,如果未能解决你的问题,请参考以下文章

在具有多行标题的选项卡上设置片段

选项卡上的 SupportMapFragment。我只能看到一次

TabLayout - 如何仅在选项卡上加载片段

删除选项卡时在 ActionBar 选项卡片段中运行代码

FragmentTransaction 隐藏/显示有时不起作用

Reload Activity 以在 Fragment 之间重新切换