iphone safari网络应用程序的后台



我正在开发一款iPhone web应用程序,下面是一些建议:http://matt.might.net/articles/how-to-native-iphone-ipad-apps-in-javascript/.特别是,我设计它在没有Safari地址栏的情况下使用在全屏窗口中打开

<meta name="apple-mobile-web-app-capable" content="yes" />.

在我自己的iPhone4上,当我测试它时,会产生奇怪的行为。与其他应用程序和Safari不同,当我离开这个应用程序时,它不会成为背景;它不会保存执行状态。它失去了一切。如果我切换到手机上的其他东西,然后回到我的网络应用程序,它会重新启动。因此,以下是一些个人问题,弥补了我的困惑:

1) 这是标准行为还是我手机上发生了什么奇怪的事情?也就是说,如果你对iPhone有特定的了解,并且知道这不应该发生,我很想知道。否则,

2) 能做些什么来改变这一点吗?我能让它像在Safari中一样保存当前状态吗?

Safari开发人员文档对此出奇地沉默。

这是一种标准行为。如前所述:防止web应用程序在iPad任务开关上重新启动你必须将状态保存到localStorage中,并在启动时检查它,然后伪造状态。

至少在iOS 4.2.1、5.1.1、6.0和6.1下,这似乎是可能的;我认为这个问题的答案是错误的。

诀窍是这样做:

// Start or resume session
session_start(); 
// Extend cookie life time by an amount of your liking
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds
setcookie(session_name(),session_id(),time()+$cookieLifetime);

有关此策略的详细讨论,请参阅iPhone 上web应用程序中的Maintain PHP Session

最新更新