我在iPad上运行了一个网络应用。它以全屏模式运行。如果我的任务切换到另一个应用程序(通过双击主页按钮等),然后切换回我的网络应用程序,然后我的网络应用程序重新启动。
有没有办法阻止Web应用在iPad任务切换后收到焦点时重新启动?显然,我只是希望它能够完全呈现失去焦点的状态。
感谢。
答案 0 :(得分:2)
不,这是不可能的。
行动的最佳方式是将州保存到localStorage。如果你正在使用eg。用于跟踪您的状态的URL哈希(例如,myApp.html / #logateScreen),可以存储该信息,然后将其应用于将调度window.onhashchange的location.hash。
换句话说(代码只是在飞行中写的例子):
1 - 将相关信息存储到localStorage:
localStorage.setItem("state", "loginScreen");
2 - 在启动时检索值并将其应用于哈希:
location.hash = (localStorage.getItem("state")) ? localStorage.getItem("state") : "";
3 - 将事件监听器绑定到onhashchange并从那里继续:
window.addEventListener("hashchange", function() {
if (location.hash.length) {
alert("Current state of UI is :"+ location.hash);
}
}, false);
答案 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