Javascript iphonewebapp缓存js,won';过了一段时间,你就不能重新蚀刻了吗?

Javascript iphonewebapp缓存js,won';过了一段时间,你就不能重新蚀刻了吗?,javascript,web-applications,jsonp,iphone-web-app,Javascript,Web Applications,Jsonp,Iphone Web App,我有一个以某种方式设计的Web应用程序,在index.html中有一个脚本标记: <script type="text/javascript" src="http://myserver.com/app.js" /> 在那data.js里面,有jsonp的东西: _run({foo:'bar'}); 我想这是一个有点奇怪的设置,但我现在需要这样。关键是它可以在计算机浏览器上工作。我的iPhone有问题-如果我把它变成一个网络应用程序(添加到主屏幕)。第一次加载时,它会很好,如果我切

我有一个以某种方式设计的Web应用程序,在index.html中有一个脚本标记:

<script type="text/javascript" src="http://myserver.com/app.js" />
在那data.js里面,有jsonp的东西:

_run({foo:'bar'});
我想这是一个有点奇怪的设置,但我现在需要这样。关键是它可以在计算机浏览器上工作。我的iPhone有问题-如果我把它变成一个网络应用程序(添加到主屏幕)。第一次加载时,它会很好,如果我切换到主屏幕并返回到webapp,它会刷新并再次加载

但是,如果我等大约半个小时或一个小时,然后回到那个网络应用程序,它将不会加载内容。我看到浏览器的“刷新”图标旋转了一秒钟,好像是在重新蚀刻内容,但随后它停止了。换句话说,看起来jsonp函数没有执行——这反过来又不会加载页面。我在Safari控制台中没有看到任何错误

我错过什么了吗?iPhone浏览器有什么特别之处吗?是否以奇怪的方式缓存了某些内容[

注:我知道,
$.getScript
函数每次都会在url的末尾添加时间戳(至少在计算机浏览器上)

更新:

发现一个错误,说它找不到google变量(我正在使用带有脚本标记的google maps,然后声明google var并使用它)。这是在我在webapp上大约一个小时不活动后发生的。一旦我重新启动它几次,错误就会消失(只会在一小时后再次发生)

通过回调修复了这一问题(即使在下载脚本标记之前执行应该暂停)

很明显,脚本标签似乎有问题。只有在手机上,大约一个小时后才会坏。不知道发生了什么事

更新2:


所以,基本上总结以上所有内容,我的印象是,
标签在半小时或一小时后刷新页面后无法随机下载/运行。这发生在我运行iOS 5.0.1的旧iPhone 3G上(注意,无论是webapp还是iPhone safari,这其实并不重要).到目前为止,我正在进行一系列的黑客测试,以检查和重新检查随机js是否存在……非常丑陋。一些js/移动专家能帮助我了解发生了什么吗?

我不认为这是Web应用程序/WebKit的问题:我试过一个快速示例,它总是重新加载脚本,从不从缓存读取。我怀疑你的缓存或标题设置,或者代码生成中的一些问题。如果你直接打开
data.js
文件,它是否总是最新的?是的,我开始认为我可能弄糟了什么。这是一个噩梦,它发生得如此罕见…data.js实际上在S3上。现在检查所有这些,将不断更新…唉。我不认为这是一个噩梦is是一个Web App/WebKit问题:我尝试了一个快速示例,它总是重新加载脚本,从不从缓存中读取。我怀疑您的缓存头设置或代码生成存在一些问题。如果您直接打开
data.js
文件,它是否总是最新的?是的,我开始认为可能是我搞错了什么。这是一个噩梦,它发生得如此罕见…data.js实际上在S3上。现在检查所有这些,将不断更新…叹气。
_run({foo:'bar'});