1

我知道当应用程序被发送到后台时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

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

4

1 回答 1

2

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

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

    alert('dasd');

},false);​

每当标签获得焦点或在此页面上重新激活移动 Safari 时,都会触发此操作。

于 2012-11-07T20:50:48.090 回答