如何判断iPhone是否在javascript中从后台返回?

时间:2012-11-07 20:41:31

标签: javascript iphone

我知道当应用程序发送到后台时(即在应用程序运行时按下主页按钮),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

有更好的方法吗?我用这种方法发现的问题是,如果用户快速关闭并重新打开应用程序,它就不起作用,但我还没有找到更好的方法来检测它。

1 个答案:

答案 0 :(得分:2)

您可以使用'pageshow'事件。在手机上访问此页面http://jsfiddle.net/vbuDh/

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

    alert('dasd');

},false);​

只要标签获得焦点,或者在此页面上重新激活移动版Safari,就会触发。