2012-07-22 60 views
1

我有一個用於iPhone的網絡應用程序,當網頁處於焦點時,換句話說,當Safari打開時,我需要觸發一個Javascript函數。如何在iPhone上重新打開Safari時檢測焦點?

我想完成的是當用戶點擊電話鏈接並開始呼叫時以某種方式啓動計時器。通話結束後,Safari再次彈出,計時器結束。

有沒有辦法做到這一點?

問候

萊納斯

+0

可能的重複http://stackoverflow.com/questions/4656387/how-to-detect-in-ios-webapp-when-switching-back-to-safari-from-background – Simon 2012-07-22 11:01:18

+0

爲我們需要一個好的建議更多信息。是jQuery使用?有沒有使用sencha,jqm等? phonegap/cordova在使用中? – liquid 2012-07-22 11:30:59

+0

@liquid我正在使用jQuery來獲取點擊開始呼叫的鏈接。沒有其他框架正在使用。我試圖使用$('html')。focus(),但它不起作用。 – Rufuhs 2012-07-22 11:53:00

回答

1

試試這個:

如果觸發的鏈接調用設置的實際時間在localStorage的項目。

$("#yourButton").click(function() { 

    var actualTime = new Date().getTime(); 
    window.localStorage.setItem('callStart', actualTime); 

}) 

之後您需要在用戶結束通話後閱讀存儲。 您可以在開始頁面的document.ready中設置它。

在$

(文件)。就緒(函數(){})

// check for the localStorageItem 
if (window.localStorage.getItem('callStart')) { 

    // get it 
    var timeStart = window.localStorage.getItem('callStart'); 

    var now = new Date().getTime(); 

    /* 
    Now calculate here the difference now - timeStart 
    and you will get seconds, minutes or whatever you want 
    */ 

    // !!! Dont forget to clear the localStorageItem 
    window.localStorage.removeItem('callStart'); 

} 

這是我想嘗試。 HTML5-localStorage的使用使您可以存儲鍵/值和數據不會丟失,如果用戶停止應用程序或設備被自動鎖定。

希望這會有所幫助。

ADDED:您甚至可以將JSON存儲爲localStorageItem中的值。因此,您可以設置呼叫ID併爲您的用戶實施呼叫歷史記錄。