나는 HTML5 애플리케이션을 개발 중이다. .manifest 솔루션 덕분에 모든 파일을 캐시하므로 인터넷에 액세스 할 수 없을 때 응용 프로그램을 사용할 수 있습니다.Ajax 요청 및 오프라인 캐시
가능할 때마다 일부 데이터를 서버에 동기화하려고합니다. 변수 navigator.online은 충분히 신뢰할만한 것으로 보이지 않으므로 응답하는 항목이 있는지, 즉 사용자가 온라인 상태인지 여부를 감지하기 위해 AJAX 요청 (jQuery.get()
사용)을 수행합니다.
전체 응용 프로그램이 캐시되는 즉시 인터넷상의 파일에 대한 모든 AJAX 요청이 이유없이 실패합니다. 같은 결과로 Chrome, Firefox 및 Safari (iPad)에서 시도했습니다.
나는 응용 프로그램의 일부 파일 (동시에 캐시 된)의 내용을 얻으려면 jQuery.get()
을 사용합니다. 이러한 요청은 완벽하게 작동합니다.
처음으로 같은 출처 문제가 발생했습니다. 그래서 https://graph.facebook.com에게 요청을 보내려고했는데, 그 댓가로 아무것도 얻지 못했는지 알기 위해서였습니다. Chrome 콘솔에서 요청 상태는 '대기 중'이며 0 바이트가 수신되었습니다.
매니페스트를 비활성화하고 캐시를 비우면 전혀 문제가 없습니다.
왜 이것이 일어 났는지에 대한 아이디어 나 힌트가 있습니까?
감사합니다 :)PS : 영어 내가 만든 수있는 실수를 용서 (및 수정 주시기) 제발, 내 모국어가 아닙니다. :)
'.get()'은 편안한 속기입니다. 하지만 요청을 더 잘 제어하려면 ['.ajax()'] (http://api.jquery.com/jQuery.ajax/) 또는'.ajaxSetup()'과 함께'.get() '을 사용하십시오.] (http://api.jquery.com/jQuery.ajaxSetup/) – Boaz