【问题标题】:image and jquery not loading until after refresh in firefox图像和 jquery 直到在 Firefox 中刷新后才加载
【发布时间】:2011-06-28 18:24:42
【问题描述】:

我在清除缓存(来自 spring 应用程序的 jsp 页面)后第一次访问我的网站时,没有应用图像和样式,但是当我刷新(ctrl-r)时,一切都完美加载。

图像和我的(非 CDN)js 的 Firefox 控制台输出:

HTTP/1.1 404 未找到

它没有找到的资源是我服务器上的所有 javascript、css、图像 - jquery dl 正在工作。

我可以每次使用firefox复制:清除缓存访问站点,它失败了。然后重新加载它就可以了。 chrome 和 ie 的情况并非如此,它们似乎工作正常。

为了澄清它无法加载存储在我的服务器上的 javascript 和图像。然而,这些引用显然是正确的,因为它每次刷新同一页面时都能完美加载……在相关的 jpg 和 js 放入本地缓存之后?

【问题讨论】:

  • 仅存储在服务器上的图像
  • 它是否在 Internet Explorer 中加载?我问是因为 WebKit 并行加载文件。
  • 它是存储在我的服务器上的所有图像、css、图像,然后在刷新时加载。在Firefox中,每次我清除缓存它都会失败,然后我重新加载它并且它可以工作(没有清除缓存)。 IE好像没问题。

标签: javascript jquery css jsp


【解决方案1】:

这可能对某人有所帮助。

我们遇到了类似的问题:在重新设计了一个完整的网站后,我们注意到在 Firefox 和 IE 中,当您第一次出现在页面上时,并没有应用 CSS 样式。但是萤火虫显示它们已下载,我们也没有错误。然而,在刷新时,样式被正确应用和渲染。

解决方案:尽管网站重新设计是全新的,但出于习惯,我们的文件结构和命名是一致的。因此,我们的新样式表代码完全不同,但文件名和文件夹位置与旧站点完全相同。...浏览器在首次加载时尝试使用 CSS 的旧缓存副本,但在刷新时是强制的使用最新的。

结果:我们更改了新的 css 样式名称,一切都已修复。这样做很重要,因为我们有回访者肯定会遇到同样的问题......而大多数人不是......嗯,“聪明”足以在网站加载奇怪时点击刷新,他们就会消失。

【讨论】:

    【解决方案2】:

    可能跟模糊代码有关,IE能看懂,因为不像FF那么挑剔。确保你有你所有的“;”和间距正确。 另外,您的图像是否有自闭括号? ( />)

    【讨论】:

      【解决方案3】:

      您可以使用 jsp 添加版本控制,以确保浏览器不会缓存 js 和 css,如下所示:

      <script type="text/javascript" src="myjs.js?version=20110628a"></script>
      

      这可能会奏效。

      【讨论】:

        【解决方案4】:

        另外,请确保您的脚本标签中有 type="text/javascript"。

        【讨论】:

        • 这不是必需的。对于&lt;script&gt; 标签,浏览器默认为text/javascript
        • 好吧,你自己试试吧。如果您在 Firefox 29.0 中未指定此项,则在您刷新页面之前它不会加载脚本。我建议您在投反对票之前尝试这些方法。
        猜你喜欢
        • 2023-03-19
        • 2015-02-09
        • 2017-07-24
        • 1970-01-01
        • 2011-01-07
        • 2016-05-28
        • 2014-10-02
        • 1970-01-01
        • 2013-08-20
        相关资源
        最近更新 更多