1

我遇到了一个问题,iPad 坚持加载 .js 文件的旧副本,而不是当前文件。奇怪的是,这只发生在页面处于全屏模式时,而不是从页面运行时。

  • 我没有使用任何类型的缓存清单;
  • 当我在 Safari 上打开页面时,它的行为与最新版本的 .js 一样;
  • 当我通过图标打开页面时,它的行为与旧 .js 的规定相同;
  • 杀死正在运行的应用程序,删除图标然后重新创建它并不能解决问题;它仍在使用旧的 .js,即使在全屏时也是如此。

有人知道发生了什么吗?

- 更新 -

这似乎是一个iOS 5 错误

-- 解决方法(又名丑陋的 hack) --

只需在 script 标签中添加一些虚假的 http 参数,让缓存认为它完全是另一个 JS:

<script src="js/pentaho-jqm-repository.js"></script>

变成:

<script src="js/pentaho-jqm-repository.js?fkn-ios-bug=1"></script>
4

1 回答 1

2

使用上述解决方法(向 URL 添加虚假参数)然后将其更改回来后,奇怪的是,问题停止发生。当然,在生产环境中,这是做不到的,所以我想我会开始对 js 版本进行编号,这样最终用户就不会遇到这个问题。

于 2012-04-26T11:56:48.860 回答