【问题标题】:Prevent UIWebView to cache JavaScript files?防止 UIWebView 缓存 JavaScript 文件?
【发布时间】:2012-01-12 10:50:08
【问题描述】:

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

每当我对 html 或 css 进行更改时,我都会重新打开 WebView。但是我的 JavaScript 似乎被缓存了,当重新打开 WebView 时,它们中的更改不会变得可见。

我在这里错过了什么?

【问题讨论】:

    标签: javascript ios caching uiwebview


    【解决方案1】:

    这个答案帮助了我: 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 中。

    【讨论】:

    • 太好了,我有一个真正需要确保没有缓存的 JS。我刚刚使用<script src="js/my_javascript.js?version=2" type="text/javascript"></script>
    【解决方案2】:

    我也怀疑 UIWebView 缓存。最初。但实际问题是 Xcode 将 .js 文件视为可编译源 - Xcode 将它们置于“编译源”构建阶段(项目目标 -> 构建阶段选项卡),而它们应该处于“复制捆绑资源”阶段。无论编译器如何看待 .js 文件,它都不会检测到更改并在更改时替换它。 将我的 .js 文件从编译阶段移动到复制资源阶段很好地解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-13
      • 2014-04-21
      • 1970-01-01
      • 2016-10-26
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 2020-11-18
      相关资源
      最近更新 更多