【问题标题】:Caching uploadify files crashes the chrome缓存uploadify文件会使chrome崩溃
【发布时间】:2014-09-18 05:46:30
【问题描述】:

我正在使用上传。当我尝试使用uploadify 脚本打开页面时,页面崩溃了。我用了很长时间。但现在只有我得到了错误。

它只发生在 chrome 中。它在 firefox、safari 和 IE 中完美运行。

我通过谷歌搜索并找到了一个解决方案,比如在浏览器中禁用缓存(工作)。但这不是在客户端浏览器中执行此操作的最佳方式。有没有办法使用 htaccess 禁用特定页面的缓存?

我在 htaccess 中尝试了以下操作。但没用。

<Files jquery.uploadify.js>
    ExpiresDefault "access plus 0 seconds"
</Files>

请建议我解决这个问题。

【问题讨论】:

  • 我怀疑缓存是这里的问题。
  • 当我禁用缓存时(开发工具(F12)->设置->常规->禁用缓存)chrome没有崩溃。
  • 您是否尝试过删除缓存?通过 chrome 本身或转到 C:/users/&lt;username&gt;/appdata/local/google/chrome/user data/default/cache 并删除那里的所有文件。
  • 是的,兄弟。我试过那个。第一次删除缓存后它的工作。但下一次它再次崩溃。
  • 谢谢@Sumurai8。我通过在js文件中添加一个参数解决了这个问题。我在下面发布了答案。

标签: javascript .htaccess google-chrome caching uploadify


【解决方案1】:

最后我通过在 .js 文件中添加一个额外的参数(更改 URL 或版本控制文件)?ver=&lt;?php echo rand(0,9999);?&gt; 解决了这个问题,如下所示。

<script src="js/jquery.uploadify.min.js?ver=<?php echo rand(0,9999);?>" type="text/javascript"></script>

更多信息请查看this

更新(27-01-2015):

上述解决方案现在不起作用。找到另一个解决方案。像下面这样在 uploadify 函数周围添加超时将防止 chrome 崩溃。它不是正确的解决方案,但现在会阻止。 uploadify的论坛也被锁了。因此,我无法发布有关此的问题。

setTimeout(function () {
    $("#uploadify_id").uploadify({})...
},0);

谢谢大家。

【讨论】:

  • 非常感谢,我们正在考虑在旧产品中替换 uploadify。这将意味着浪费大量时间。我认为您应该接受自己的答案,以便其他人可以轻松地看到它的工作原理。
  • 您的方法解决了 Chrome 和 IE 中的崩溃问题。我所做的不同之处在于使用生成唯一值的 uniqid 函数。我还要指出,这种方法只有在您遇到与缓存相关的错误时才有价值...如果您想要缓存控制,我会推荐另一种方法:particletree.com/notebook/…blog.greenfelt.net/2009/09/01/caching-javascript-safely
  • 为我工作谢谢+1
  • 这对我也有用。不知道为什么 Uploadify 会像这样使浏览器崩溃?与 OP 一样,这已经工作了很长时间,并且只在最近的 Chrome 版本中出现了问题。会将问题上报给 Uploadify 团队,但他们似乎没有从 GitHub 运行项目,这很遗憾。
  • 使用 date("U") 代替 of rand(0,9999) - 防止版本不改变并且代码更少
【解决方案2】:

将@date("U") 放在你的脚本src 之后。 像这样:

js/jquery.uploadify.min.js?<?=@date("U")?>

它将解决缓存崩溃的问题。

【讨论】:

    猜你喜欢
    • 2019-04-23
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    相关资源
    最近更新 更多