6

我已经使用 PHP 构建了一个 iPhone webapp。主(也是唯一的)页面包含apple-mobile-web-app-capableapple-touch-fullscreen元标记,因此一旦添加到主屏幕,它就可以全屏运行。但是,似乎每次我从主屏幕启动应用程序时,都会使用页面的缓存版本而不是刷新页面(当然,我需要在启动时更新页面,并且不能在这里使用 Ajax - 需要使用 SSO phpCAS 动态验证用户)。我没有使用任何清单文件并尝试添加有关缓存的元标记但没有成功。有人知道如何解决这个问题吗?

谢谢

4

2 回答 2

3

What meta tags have you tried?

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

should tell Safari not to cache, but I have not tried them.

You could use javascript to load your "real" startup page from the cached page using any of the standard techniques to make the URL unique, such as adding a random number.

That might even work for the main startup page, but I doubt it. Worth a try, though.


I suggest the cached page load a new page only if it is on the springboard:

UNTESTED suggestion:

window.onload = function () {
   if (navigator.standalone) {
     document.location.href = 'http://your.com/whatever.php?randomjunk=1234')  }
}

so if the page is in the browser it can give instructions on saving to the home screen and if it is run from the home screen it will load the real page.

于 2009-12-02T15:47:00.303 回答
2

我知道当您包含清单文件时,主页会自动缓存,但我认为仅使用 ...web-app-capable 时不会发生这种情况。您是否尝试过使用缓存清单文件并在“网络:”下列出您的页面以明确将其从这种缓存方法中排除?如果不是这个,它必须与那里的标题和元信息有关。

于 2012-05-12T16:32:35.067 回答