我有一个iPhone webapp,它使用缓存清单脱机工作。我将webapp添加到我的主屏幕,使用它(例如滚动到页面上的某个位置),然后返回主屏幕。 当我再次打开应用程序时,我会看到我曾经在那里(在该页面上的滚动位置),但随后应用程序“重新加载”,我滚动到主页的顶部。有没有办法防止这种“重装”?即使在飞行模式下也会发生这种情况(即一切都在缓存中)。
答案 0 :(得分:3)
您只是看到默认的启动图片,这只是您最后一个地方的屏幕截图。这不是“重装”;该应用程序未加载开始。
搜索“apple-touch-startup-image”以设置实际加载图像。
答案 1 :(得分:2)
我在这里苦苦挣扎的是,如果我使用普通的Safari而不是以“apple-mobile-web-app-capable”模式运行,那么应用程序实际上似乎更长时间保持“内存”。在后一种情况下,只需按下主页按钮,然后任务切换回应用程序就会导致重新加载。只在Safari中做同样的事情通常不会重新加载。所以我最糟糕的是使用“apple-mobile-web-app-capable”。
答案 2 :(得分:1)
我不相信有真正的'重载'事件。 onload和onunload都是我们得到的。
onload 处理程序启动,就好像它是您第一次来到该页面一样。 onunload 处理程序是清除旧内容的关键。我想为回到我的网络应用的人提供替代内容。
window.onunload=function(){
document.getElementsByTagName('body')[0].className+=' unloading'
}
让CSS执行脏工作以隐藏大部分正文并显示替代内容。
(这个答案不依赖于jQuery或其他框架)
答案 3 :(得分:0)
//正在加载
window.scroll(0,0);
为确保在启动时不显示旧内容,请在我的页面中使用:
window.addEventListener('unload',function(){$('body')。hide();});
因此页面的最后一个状态为空,并且是再次打开页面时向用户显示的内容。