我有一个加载html,css和javascript的UIWebView。
当我在html或css中进行更改时,应用的是我重新打开的WebView。但是我的JavaScripts似乎被缓存了,当重新打开WebView时,它们的变化不会变得可见。
我在这里缺少什么?
答案 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文件从编译阶段移到复制资源阶段很好地修复了问题。