我知道当应用程序发送到后台时(即在应用程序运行时按下主页按钮),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
有更好的方法吗?我用这种方法发现的问题是,如果用户快速关闭并重新打开应用程序,它就不起作用,但我还没有找到更好的方法来检测它。
答案 0 :(得分:2)
您可以使用'pageshow'事件。在手机上访问此页面http://jsfiddle.net/vbuDh/
window.addEventListener('pageshow', function(ev){
alert('dasd');
},false);
只要标签获得焦点,或者在此页面上重新激活移动版Safari,就会触发。