阻止UIWebView缓存JavaScript文件?

时间:2012-01-12 10:50:09

标签: javascript ios caching uiwebview

我有一个加载html,css和javascript的UIWebView。

当我在html或css中进行更改时,应用的是我重新打开的WebView。但是我的JavaScripts似乎被缓存了,当重新打开WebView时,它们的变化不会变得可见。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:4)

这个答案对我有所帮助: Prevent caching of .css files in UIWebView loaded from disk

基本上,您只需要将增量器作为参数添加到?version=1?time=12345678等链接中。例如:<script src="myscript.js?version=123></script>

对于我正在使用的动态加载的javascript:

script.src = "myscript.js?version="+new Date().getTime();

并且脚本正确更新,没有版本参数,文件缓存在UIWebView中。

答案 1 :(得分:1)

我也怀疑UIWebView缓存。原来。但实际问题是Xcode将.js文件视为可编译的源 - Xcode将它们放入“编译源”构建阶段(项目目标 - &gt; Build Phases选项卡),而它们应该处于“Copy Bundle Resources”阶段。无论编译器如何看待.js文件,它都不会检测到更改并在更改时替换它。 将我的.js文件从编译阶段移到复制资源阶段很好地修复了问题。