2012-01-25 2 views
0

내 이미지에 jQuery preloader을 사용하고 있으며 로더를 실행하기 전에 페이지가 이미 사용자 브라우저에 캐시되어 있는지 확인할 수 있는지 궁금합니다. 당신의 응답을 감사합니다 덕분에페이지가 이미 캐시 된 경우 jQuery 프리 로더를 사용하지 않도록 설정하는 기능

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

:

플러그인은

$(document).ready(function() { 
    $("body").queryLoader2(); 
}); 

내가 좋아하는 뭔가를 쓸 수있는 기능을 DOM로드에서 실행됩니다.

답변

1

ajax를 통해 헤드 요청을 수행 할 수 있으며 200 대신 304가 반환되면 캐시에 헤드 요청을 보낼 수 있습니다. 같은 자바 스크립트에서 뭔가은 다음과 같습니다

 

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; 
    } 
}); 
 

그것이 빠른 응답

+0

감사합니다 도움이되기를 바랍니다, 나는 그것을 시도하고 내가 현재 /의 JS 승 내 사이트를 캐싱 자동으로 찾고 있어요, 작동하는 것 같다 . – Tribbey

+0

내 문제는 내 순수한 CSS3 요소에 CSS3Pie를 사용하고 IE를 사용하여 요소를 렌더링하는 데 걸리는 시간을 줄이려고하는데 프리 로더가 제대로 작동하지만 반환 사용자가 사이트가 이미 캐시되어 있습니다. 셀프 캐싱을 조사 할 곳에 대한 제안이 있습니까? – Tribbey

관련 문제