Pregunta

Hay una página en particular que me gustaría que el navegador cargue siempre, particularmente cuando el usuario presiona el botón Atrás del navegador para acceder a ella.

Entonces uso la siguiente directiva 'Cache-Control' en el encabezado de esta página (tomando PHP directamente de mi código).

$headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0';

Esto funciona para FF, IE y Chrome, pero Safari (5.0.1) parece ignorar la directiva y no puede recargar la página (entre varios usuarios, por lo que no parece ser un problema específico de configuración).La búsqueda no ha revelado ningún error conocido, por lo que supongo que hay algo mal por mi parte.

Cualquier consejo sería muy apreciado.

Actualizar:Acabo de encontrar esta respuesta en SO.

El navegador Safari ignora mi caché

No lo he probado todavía, pero parece prometedor.Es muy extraño que sea una adición a la etiqueta del cuerpo, por lo que soy escéptico.

¿Fue útil?

Solución

La respuesta es para incluir el siguiente atributo en el cuerpo de la etiqueta a la fuerza Safari para recargar la página:

onunload=""

Como en:

<body onunload="">

Me encontraron esta aquí: ignorando mi no-cache

Lo cual a su vez lo recibió de este tema: ¿Hay una cruz -Browser onload evento al hacer clic en el botón de retroceso?

Otros consejos

Consulte también este informe de error de Webkit:https://bugs.webkit.org/show_bug.cgi?id=71509

Estoy experimentando el mismo problema y parece ser un error en Safari.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top