簡體   English   中英

如何判斷 iPhone 是否從 javascript 后台返回?

[英]How can I tell if iPhone is returning from background in javascript?

我知道當應用程序被發送到后台時(即在應用程序運行時按下主頁按鈕),iPhone 會停止運行 javascript,但我希望能夠檢測當 javascript 再次啟動時是否發生了這種情況該應用程序被重新激活。

我一直在嘗試的一種解決方案是讓迭代器不斷運行以“簽入”,然后對其進行檢查以判斷應用程序是否已進入后台。

var lastCheckinTime = new Date().getTime();
function checkin(){
  lastCheckinTime = new Date().getTime();
}
setIterator( checkin, 1000 );

// Later, some code that needs to know if iphone went to background
var now = new Date().getTime();
if( (now - lastCheckinTime) > 1100 ) {
  // run sent to background code

有一個更好的方法嗎? 我發現這種方法的問題是,如果用戶快速關閉並重新打開應用程序,它就不起作用,但我還沒有想出更好的檢測方法。

您可以使用“pageshow”事件。 在您的手機上訪問此頁面, http://jsfiddle.net/vbuDh/

window.addEventListener('pageshow', function(ev){

    alert('dasd');

},false);​

這將在標簽獲得焦點時觸發,或者在此頁面上重新激活移動 Safari。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM