2010-07-04 148 views
4

很多帖子都提到了iPhone應用程序,但我需要知道如何在網頁上爲JavaScript做到這一點。iPhone/Safari:如何在睡眠模式下繼續執行javascript?

我的具體問題是我想跟蹤設備的位置很長一段時間(比如汽車旅行)。當設備進入休眠狀態時(這可能是在打電話時,我還沒有嘗試過這種情況),這就成了一個問題。我打開任何想法,包括預防睡眠模式(但因爲我在Safari中,我不知道我必須做多少控制)。

+0

我並不確定,但是iPhone的底座沒有保持?你可以顯示一個彈出窗口,告訴用戶保持他們的iphone插入;這將解決乘車的用戶。至於其他的問題,你會立即殺死他們的電池。全球定位系統和互聯網網絡訪問確實損害了電池壽命 – Andrew 2010-07-04 14:31:09

+0

我知道這些ramifactions。 用戶會很清楚他們正在被追蹤,這是網頁的唯一目的。因此,假設他們將網頁設置爲Safari中最前面的頁面,並且Safari處於活動狀態。 另外我注意到,在設備進入睡眠狀態後,會發生一些「watchPosition」迭代。但在這些少數(約5)後停止。 – Sid 2010-07-04 14:39:03

+0

@Andrew我會在我的車裏試試這個。它在我的立體聲中不起作用。 – Sid 2010-07-04 14:39:40

回答

6

你不能。網頁不會執行JavaScript,除非(1)網頁是最前面的,(2)Safari實際上是活動的。當設備睡着時,Safari不會保持活動狀態。

如果你仔細想想,這個功能將是一個大規模的隱私泄露。想象一下,如果你訪問了一個網頁,那麼即使你的設備關閉,你也會偷偷地追蹤你的位置!你會很生氣。即使你可以在技術上做到這一點,如果他們發現你做到了,人們可能會感到不安。

由於隱私和人身安全的原因,位置信息受到嚴密保護(請考慮潛行者和您的網頁)。這就是您第一次獲取位置時要求使用位置管理器的對話框的原因。

+2

我不認爲隱私是一個問題。每當您嘗試訪問Mobile Safari中的位置服務時,用戶是不是必須點擊「好」?對我來說意味着同意。無論如何,對我來說。 – Andrew 2010-07-04 14:32:23

+1

感謝您的回覆,儘管我認爲這不像您建議的那樣隱私泄露太多。用戶總是通知並且不應該期望「睡眠」與「關閉」相同。但我猜這是一個意見問題。 – Sid 2010-07-04 19:47:17

+0

我會擔心任何可以激活此位置管理器的遠程腳本。鑑於網站的安全問題,您甚至無法確定您認爲要求您所在位置的網站實際上是否在發送代碼。有一個網頁在後臺運行並跟蹤您的位置,即使您必須授予其啓動權限,它也會變得更加危險。現在在移動Safari中加載了多少個網頁?他們在那裏有多長時間?打開一個洞並將其打開很容易。 – TechZen 2010-07-04 20:03:58