2016-08-18 8 views
0

Android Chrome 브라우저 및 데스크톱 Chrome 브라우저에서 일부 Html5 애플리케이션 캐시 테스트를 수행했습니다.Html5 애플리케이션 캐시 : 페이지 새로 고침시 애플리케이션 캐시에서 JavaScript 파일을로드 할 수 없습니다.

매니페스트 URL
/appcachetest/메인/AppManifest :

CACHE MANIFEST 

# Version: 3 

NETWORK: 
* 

CACHE: 
Main 
Main/Page1 
Main/Page2 
Scripts/jquery-1.10.2.js 
#FALLBACK: 
@{ 
    Layout = null; 
    Response.ContentType = "text/cache-manifest"; 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.Cache.SetExpires(DateTime.MinValue); 
    Response.ContentEncoding = System.Text.Encoding.UTF8; 
} 

메인 인덱스 페이지 :

<!DOCTYPE html> 
<html manifest="/appcachetest/Main/AppManifest" type="text/cache-manifest"> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <title> - My ASP.NET Application</title> 
    <script src="/AppCacheTest/Scripts/jquery-1.10.2.js"></script> 
</head> 
<body> 


<iframe src="Main/Page1" style="border: 0; width: 100%; height: 100%"> </iframe> 

</body> 
</html> 

나는 단계를 다음과 같이 시도 :

  1. 브라우저를 온라인으로 만듭니다.
  2. 주소 표시 줄에 URL을 입력하고 Enter 키를 누르십시오.
  3. 페이지가 제대로로드되고 모든 항목이 캐싱됩니다.
  4. 브라우저를 닫고 다시 시작하십시오.
  5. 브라우저를 오프라인으로 설정하고 캐시를 사용하도록 설정하십시오.
  6. 주소 표시 줄에 기본 색인 페이지를 입력하고 Enter 키를 누릅니다.
  7. 캐시에서로드 된 주 인덱스 페이지와 JavaScript 파일.
  8. 브라우저 새로 고침 버튼을 클릭하면 JavaScript 파일을 캐시에서로드 할 수 없습니다.

페이지를 새로 고칠 때 응용 프로그램 캐시에서 JavaScript 파일을로드하는 작업 방법이 있습니까? 어떻게 작동 시키는가?

감사합니다, 보 몇 시간 조사 및 테스트 후

답변

0

마침내 매니페스트 캐시에서 JavaScript 파일을로드 할 수없는 문제를 알고있었습니다.

매니페스트 파일의 캐시 된 URL은 대소 문자를 구분하므로 2 일 정도 소요될 때까지는이를 알지 못했습니다.

1

.

찾았습니다. jquery-1.10.2.js 파일의 이름을 jquery.js.jgz로 변경하면 오프라인으로 페이지를 새로 고침해도 오류가 발생하지 않습니다.