2009-12-02 14 views
6

He creado una aplicación de Internet para iPhone con PHP. La página principal (y única) incluye apple-mobile-web-app-capable y apple-touch-fullscreen meta tags para que pueda ejecutar pantalla completa una vez que se agrega a la pantalla de inicio. Sin embargo, parece que cada vez que abro la aplicación desde la pantalla de inicio, la versión de caché de la página se usa en lugar de actualizar la página (y por supuesto, necesito que la página se actualice al inicio y no puedo usar Ajax aquí; necesito autenticar dinámicamente al usuario con SSO phpCAS). No utilicé ningún archivo de manifiesto e intenté agregar metaetiquetas sobre la memoria caché sin éxito. Sabe alguien cómo arreglar esto?iPhone Web App desactivar el caché

Gracias

Respuesta

3

Qué etiquetas meta han intentado?

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

debería decirle a Safari que no cachee, pero no los he probado.

Puede usar javascript para cargar su página de inicio "real" desde la página en caché utilizando cualquiera de las técnicas estándar para hacer que la URL sea única, como agregar un número aleatorio.

Eso incluso podría funcionar para la página de inicio principal, pero lo dudo. Vale la pena intentarlo, sin embargo.


que sugieren la página en caché se carga una nueva página sólo si está en el trampolín:

sugerencia sin probar:

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

por lo que si la página está en el navegador puede dar instrucciones al guardar en la pantalla de inicio y si se ejecuta desde la pantalla de inicio, cargará la página real.

+0

Gracias por ayudar. Sí, he probado las metaetiquetas que mencionaste, pero todavía está cargando el caché. Tenga en cuenta que esto solo ocurre cuando la etiqueta apple-mobile-web-app-capable está configurada en SÍ (pero lo necesito porque desea que la web se ejecute en pantalla completa) y solo cuando uso el icono en el Springboard. Agregar un token generado aleatoriamente a la URL podría solucionarlo, pero eso implicaría una redirección: por lo tanto, no sería posible marcar la página de inicio (que redirige después de agregar el token get paremeter ...) en Safari Mobile, usted ver lo que quiero decir ... Mejor – Benoit

+0

La versión no probada (window.onload .....) funciona y es genial! Lo único malo es que tienes que seguir cambiando cada publicación. Utilicé un iframe en la página a la que accedes e inserta una página que redirige a la página real que deseas mostrar a los usuarios. Entonces he htaccess cambiando la página que redirige para redirigir a la página? RandomJunk y no guardará en caché htaccess para que funcione perfectamente. –

2

Sé cuando incluyes un archivo de manifiesto que la página principal se almacena en caché automáticamente, pero no pensé que sucediera cuando solo usaba ... web-app-capable. ¿Ha intentado utilizar un archivo de manifiesto de caché y enumerar su página en "Red" para excluirlo explícitamente de este método de almacenamiento en caché? Si no es esto, debe ser con el encabezado y la metainformación allí.

Cuestiones relacionadas