iphone safari web app后台

时间:2012-02-17 05:06:43

标签: iphone web-applications mobile-safari

我正在开发一个iPhone网络应用程序,其中包含一些建议:http://matt.might.net/articles/how-to-native-iphone-ipad-apps-in-javascript/。特别是,我设计它是在没有使用

的Safari地址栏的全屏窗口中打开
<meta name="apple-mobile-web-app-capable" content="yes" />.

在我自己的iPhone 4上,当我测试它时会产生奇怪的行为。与其他应用程序和Safari不同,当我离开这个应用程序时,它不是背景;它不保存执行状态。它只是失去了一切。如果我切换到手机上的其他内容然后回到我的网络应用程序,它会再次启动它。所以,这里有一些个人问题构成了我的困惑:

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

2)可以做些什么来改变这个?我能否以与Safari中相同的方式保存当前状态?

Safari开发者文档对此非常沉默。

2 个答案:

答案 0 :(得分:0)

这是一种标准行为。 如上所述:Prevent web app restart on iPad task switch您必须将状态保存到本地存储中并在启动时检查它并伪造状态。

答案 1 :(得分:-1)

至少在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);

有关此策略的更详细讨论,请查看Maintain PHP Session in web app on iPhone