0

我为 IOS 构建了一个独立的网络应用程序。我注意到有一些缓存问题让我很困扰。我注意到有时网络应用程序没有访问我的网站,让我们说“index.php”。我通过查看 apache 日志来观察这一点。

我四处搜索并指出在 js 和 css 文件上使用版本号。但是,如果 webapps 甚至没有点击我的索引页面,则此方法不起作用。

Webapps 也有一些奇怪的行为。例如,当页面准备好时,我添加了一个“警报”。我在 webApps 模式下将页面添加到主屏幕。我打开 webapps,它显示“警报”。之后,我删除了“警报”并再次打开 web 应用程序,但它没有显示“警报”。但是,当我通过按 iphone “home” 继续测试并再次重新打开 webapps 时,可能 10 次中有 2-3 次向我显示警报。我不知道发生了什么。

所有这些都是在无缓存环境下测试的。

有什么帮助吗?问候史蒂文

4

1 回答 1

0

向您的站点添加一个静态页面,例如 launcher.html,您将重定向您的 iOS 客户端以将 Web 应用程序添加为书签(此时该页面应包含一些有关如何为应用程序添加书签的指示)。当应用程序在独立模式下运行时,luncher.html 应该只运行一个脚本,将其重定向到 index.php?ts=[timestamp],每次应用程序启动时时间戳都会发生变化(当前日期时间是最明显的候选者)。这样,每次启动时它都会使缓存无效。服务器不需要处理额外的参数。

对于检测独立模式,以下指南应该会有所帮助 http://www.bennadel.com/blog/1950-Detecting-iPhone-s-App-Mode-Full-Screen-Mode-For-Web-Applications.htm

干杯,

马吕斯

于 2014-01-11T00:53:27.653 回答