2009-12-02 3 views
6

PHP를 사용하여 iPhone webapp을 만들었습니다. 메인 페이지에는 apple-mobile-web-app-capableapple-touch-fullscreen 메타 태그가 포함되어있어 홈 화면에 추가 된 전체 화면을 실행할 수 있습니다. 그러나, 내가 홈 화면에서 응용 프로그램을 시작할 때마다 페이지의 캐시 버전이 페이지를 새로 고치는 대신 사용됩니다. (물론 시작시 업데이트 할 페이지가 필요하며 여기에서 Ajax를 사용할 수 없습니다. SSO phpCAS로 사용자를 동적으로 인증). 매니페스트 파일을 사용하지 않았고 성공하지 못하면 캐시에 대한 메타 태그를 추가하려고했습니다. 아무도이 문제를 해결하는 방법을 알고 있습니까?iPhone 웹 앱 캐시 사용 안함

감사합니다.

답변

3

어떤 메타 태그를 사용하셨습니까?

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 

은 Safari에 캐시하지 말아야하지만 시도하지 않았습니다.

javascript를 사용하면 URL을 고유하게 만드는 임의의 표준 기술 (예 : 임의 번호 추가)을 사용하여 캐시 된 페이지에서 "실제"시작 페이지를로드 할 수 있습니다.

주 시작 페이지에서도 작동 할 수도 있지만 의심 스럽습니다. 가치가있는 시도.

검증되지 않은 제안 :

window.onload = function() { 
    if (navigator.standalone) { 
    document.location.href = 'http://your.com/whatever.php?randomjunk=1234') } 
} 

페이지가 브라우저에있는 경우 그래서 줄 수있는 지침


나는 그것이 발판에있는 경우에만 캐시 된 페이지가 새로운 페이지를로드 제안 홈 화면에 저장하는 경우 홈 화면에서 실행하면 실제 페이지가로드됩니다.

+0

감사를 읽어 보시기 바랍니다. 예 언급 한 메타 태그를 시도했지만 여전히 캐시를로드 중입니다. 이 문제는 app-mobile-web-app-capable 태그가 YES로 설정된 경우에만 발생하지만 스프링 보드에서 아이콘을 사용할 때만 웹이 전체 화면으로 실행되기 때문에 필요합니다. 무작위로 생성 된 토큰을 URL에 추가하면 문제를 해결할 수 있지만 리디렉션을 의미합니다. 따라서 Safari Mobile에서 홈 페이지 (토큰을 추가 한 후 리디렉션되는 ...)를 더 이상 책갈피에 추가 할 수 없으면 무슨 뜻인지 알 겠어 ... 최고 – Benoit

+0

테스트되지 않은 버전 (window.onload .....)이 작동하며 훌륭합니다! 유일한 나쁜 점은 모든 게시를 계속 변경해야한다는 것입니다. 내가 방문한 페이지에서 iframe을 사용했고 사용자에게 보여주고 싶은 실제 페이지로 리디렉션되는 페이지를 삽입합니다. 그런 다음 페이지로 리다이렉트하는 페이지를 변경하는 htaccess가 있습니까? randomJunk 그리고 htaccess가 캐시되지 않으므로 완벽하게 작동합니다. –

2

메인 페이지가 자동으로 캐시되는 매니페스트 파일을 포함하는 경우를 알고 있지만 사용하는 데 문제가 있다고 생각하지 않았습니다. web-app-capable. 캐시 매니페스트 파일을 사용하고 "네트워크 :"아래에 페이지를 나열하여이 캐싱 방법에서 명시 적으로 제외 시키려고 했습니까? 이것이 아니라면 헤더와 메타 정보를 거기에 써야합니다.

-1

당신은 다음과 같은 HTML5 캐시 매니페스트 사용해야합니다

<!DOCTYPE HTML> 
<html manifest="cache.manifest"> 
<head> 

도움이 여기 애플의 문서에 대한 HTML5 Offline Application Cache