iPhone/Safari:如何在睡眠模式下继续执行javascript?

iPhone/Safari:如何在睡眠模式下继续执行javascript?,javascript,iphone,safari,Javascript,Iphone,Safari,很多帖子针对iPhone应用程序都提到了这一点,但我需要知道如何在网页上使用javascript实现这一点 我的具体问题是,我想在很长一段时间内(比如开车旅行)跟踪设备的位置。当设备睡眠时(可能在打电话时,我还没有试过这种情况),这就成了一个问题 我对任何想法都持开放态度,包括防止睡眠模式(但由于我在Safari,我不确定我必须要做多少控制)。你不能。网页不会执行javascript,除非(1)页面位于最前面,并且(2)Safari实际上处于活动状态。设备处于休眠状态时,Safari不会保持活动

很多帖子针对iPhone应用程序都提到了这一点,但我需要知道如何在网页上使用javascript实现这一点

我的具体问题是,我想在很长一段时间内(比如开车旅行)跟踪设备的位置。当设备睡眠时(可能在打电话时,我还没有试过这种情况),这就成了一个问题


我对任何想法都持开放态度,包括防止睡眠模式(但由于我在Safari,我不确定我必须要做多少控制)。

你不能。网页不会执行javascript,除非(1)页面位于最前面,并且(2)Safari实际上处于活动状态。设备处于休眠状态时,Safari不会保持活动状态

如果你仔细想想,这个功能将是一个巨大的隐私漏洞。想象一下,如果你访问了一个网页,而这个网页即使在你的设备关闭时也会秘密跟踪你的位置,你会有什么感觉!你会很生气的。即使你能在技术上做到这一点,如果人们发现是你做的,他们可能会感到不安


出于隐私和人身安全的考虑(想想跟踪者和你的网页),位置信息受到严密保护。这就是为什么你第一次得到位置时会出现一个对话框,要求使用位置管理器

我不确定,但iPhone在摇篮中时不是一直开着吗?你可以显示一个弹出窗口,告诉用户保持他们的iphone处于插入状态;这将解决汽车出行用户的问题。至于其他人,你很快就会耗尽他们的电池。GPS和互联网接入确实会影响电池寿命。我知道其中的分歧。用户会清楚地知道他们正在被跟踪,这是网页的专用目的。因此,假设他们将网页设置为Safari中最前面的页面,并且Safari处于活动状态。此外,我还注意到,在设备进入睡眠状态后,确实会出现几次“watchPosition”迭代。但是在那几次(大约5次)之后,它就停了。@Andrew我会在我的车里试试这个。它在我的立体声系统中不起作用。另外,将auto lock设置为never是一个很好的解决方法。有没有办法将我的手机设置为在对接时从不自动锁定?我不介意让用户这样配置他们的手机。见鬼,我宁愿要求他们收费。对不起!现在我看,你似乎做不到。我得到了固件2.1.2的反馈,我确信它有这个选项(“停靠时保持在状态:[是/否]”),但现在,这个选项不见了。即使插上电源,它也会自动关闭。我想知道他们到底为什么要删除这个功能。我还没有听说有人完整地介绍过屏幕老化。我不认为隐私是一个问题。每当您尝试在Mobile Safari中访问位置服务时,用户不必单击“确定”吗?对我来说,这意味着同意。好。。。不管怎样,谢谢你的回复,尽管我不认为这像你说的那样侵犯了隐私。用户总是被告知,不应期望“睡眠”与“关闭”相同。但我想这是一个意见问题。我会担心任何远程脚本可能会激活这样的位置管理器。考虑到网站的安全问题,您甚至无法确定您认为请求您的位置的网站是否确实发送了代码。如果有一个网页在后台运行并跟踪您的位置,即使您必须授予它启动权限,也会更加危险。你现在在MobileSafari中加载了多少页面,它们在那里有多长时间了?打开一个洞并让它保持打开状态是很容易的。因为这根线很旧,我想我会更新我的发现。事实上,您可以执行javascript并响应服务器请求,但如果其中任何一个在setTimeout中,它们将不会执行。