如果页面已被缓存,则禁用jQuery预加载器的功能

时间:2012-01-25 11:34:25

标签: jquery preloader

我正在为我的图片使用jQuery preloader,我想知道在运行加载程序之前是否可以检查页面是否已经在用户浏览器中缓存了,这可能吗?

插件使用函数

在dom加载下运行
$(document).ready(function () {
    $("body").queryLoader2();
});

我可以写下这样的内容:

$(document).ready(function () {
    if (!page_cached) {
        $("body").queryLoader2();
    }
    else {
        //do nothing
        return false;
    }
});

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

您可以通过ajax执行头请求,如果它返回304而不是200,则意味着它在缓存中。 javascript中的东西就像:


function isInCache(url)
{
  var http = new XMLHttpRequest();
  http.open('HEAD', url, false);
  http.send();
  return http.status;
}
//then
$(document).ready(function () {
    if (isInCache(your_page_url) != "304") {
        $("body").queryLoader2();
    }
    else {
        //do nothing
        return false;
    }
});

希望有所帮助