如何创建一个 iOS 网络应用程序,使其在处于非活动状态后 returns 恢复到之前的状态?
How can I create an iOS webapp that returns to the previous state after being inactive?
当我在 HTML 中创建 iOS webapp 时,我使用以下代码:
<meta name="apple-mobile-web-app-capable" content="yes" />
因此,将其作为 Safari 书签添加到 iPhone 的主屏幕并启动后,我注意到一旦我返回主屏幕并重新打开应用程序,网络应用程序不保持以前的状态。
它没有从我离开的地方开始,而是打开了开始页面。本机应用程序不会这样做。
如何创建一个 iOS 网络应用程序,使其在不活动后 returns 恢复到之前的状态?
您需要在页面每次更改时将其当前状态存储在本地(在 cookie、LocalStorage 或 IndexedDB 中),并在应用程序打开时读回该值。
Web 应用程序框架可能内置了此功能,但这是一个使用 LocalStorage 的粗略基本独立示例:
function pageChange(href) {
// called when a new page is requested by the user
// (could be set to run whenever an 'a' element is clicked)
localStorage.setItem('last_href', href);
window.location.href = href;
}
function startUp() {
// runs when the web app starts up
var last_href = localStorage.getItem('last_href');
if (typeof last_href == "string" && last_href.length) {
// check that last_href is actually stored
// or it won't work the first time the web app is launched
window.location.href = last_href;
}
}
当我在 HTML 中创建 iOS webapp 时,我使用以下代码:
<meta name="apple-mobile-web-app-capable" content="yes" />
因此,将其作为 Safari 书签添加到 iPhone 的主屏幕并启动后,我注意到一旦我返回主屏幕并重新打开应用程序,网络应用程序不保持以前的状态。
它没有从我离开的地方开始,而是打开了开始页面。本机应用程序不会这样做。
如何创建一个 iOS 网络应用程序,使其在不活动后 returns 恢复到之前的状态?
您需要在页面每次更改时将其当前状态存储在本地(在 cookie、LocalStorage 或 IndexedDB 中),并在应用程序打开时读回该值。
Web 应用程序框架可能内置了此功能,但这是一个使用 LocalStorage 的粗略基本独立示例:
function pageChange(href) {
// called when a new page is requested by the user
// (could be set to run whenever an 'a' element is clicked)
localStorage.setItem('last_href', href);
window.location.href = href;
}
function startUp() {
// runs when the web app starts up
var last_href = localStorage.getItem('last_href');
if (typeof last_href == "string" && last_href.length) {
// check that last_href is actually stored
// or it won't work the first time the web app is launched
window.location.href = last_href;
}
}