阻止在iPad任务切换上重新启动Web应用程序

Jou*_*man 6 web-applications ipad

我有一个在iPad上运行的网络应用程序.它以全屏模式运行.如果我的任务切换到另一个应用程序(通过双击主页按钮等),然后切换回我的Web应用程序,然后我的Web应用程序重新启动.

是否有任何方法可以防止Web应用程序在iPad任务切换后收到焦点时重新启动?显然,我只是希望它能够完全呈现失去焦点的状态.

谢谢.

zvo*_*ona 2

不,这是不可能的。

最好的方法是将状态保存到 localStorage 中。如果您使用的是例如。用于跟踪您的状态的 URL 哈希(例如 myApp.html/#loginScreen),可以存储该信息,然后将其应用于 location.hash,这将调度 window.onhashchange。

换句话说(代码只是即时编写的示例):

1 - 将相关信息存储到localStorage:

localStorage.setItem("state", "loginScreen");
Run Code Online (Sandbox Code Playgroud)

2 - 在启动时检索值并将其应用于哈希:

location.hash = (localStorage.getItem("state")) ? localStorage.getItem("state") : "";
Run Code Online (Sandbox Code Playgroud)

3 - 将事件侦听器绑定到 onhashchange 并从那里继续:

window.addEventListener("hashchange", function() {
    if (location.hash.length) {
        alert("Current state of UI is :"+ location.hash);
    }   
}, false);
Run Code Online (Sandbox Code Playgroud)