为jQuery.i18n.properties启用缓存

时间:2018-03-05 21:14:38

标签: javascript jquery caching internationalization

我尝试启用缓存以避免每次需要时重新加载Messages.properties文件。

jQuery.i18n.properties({
    name: 'Messages',
    path: '../capability/',
    mode: 'both',
    language: 'en',
    async: true,
    cache: true,
    callback: function(){ document.title = Messages.cap_4; }
    });

当我在firefox中检查时,即使浏览器仍然多次加载同一个文件,我也会使用304代码缓存一些Messages.properties文件。 enter image description here

当我在chrome中检查时,每次需要时都会调用所有messages.properties文件,并且不会缓存其中任何一个。 enter image description here 我弄错了吗?或者这是一个知道的错误?

1 个答案:

答案 0 :(得分:0)

在您的Chrome测试中,实际上所有的Message.properties文件都是从缓存中读取的(请注意“大小”列中的“来自磁盘缓存”)。 您看到的200和304个响应之间的差异来自“缓存过期时间”。 当客户端发出新请求(例如GET Message.properties)并且您的缓存尚未过期时,浏览器将尝试从缓存中读取内容,而不是请求服务器,这种情况下将返回200,其中包含“来自磁盘缓存”评论。 在另一种情况下,当缓存过期时,浏览器将GET请求发送到服务器,那么有两种情况:

  • 该文件中没有新更新,因此服务器返回304(304表示自上次以来服务器中的文件未更改,因此浏览器可以继续读取缓存)。
  • 文件中有新更改,然后服务器将向客户端返回200,其中包含新文件内容。