A partir del último safari 5 se lanzó, y resultó causar algunos problemas para mi sitio web. Tengo un sitio web dinámico con ASP clásico (aunque eso no debería importar mucho) y el sitio tiene un uso creativo de la pila de historial. Por ejemplo, puede estar en una página que enumera productos, luego vaya a detalles sobre un producto y cambie el producto (vista de administrador). Cuando hace clic en Guardar en el producto, la información se envía al servidor a través de AJAX y se emite un history.back()
. Esto funciona muy bien en todos los navegadores (incluido safari < = 4), sin embargo, en el safari recién lanzado 5 dejó de funcionar. Parece que cuando haces clic en Safari 5 no actualiza la página, solo la carga desde la memoria caché, lo que significa que no se muestran los cambios realizados en la vista de detalles. ¿Cómo puedo hacer para que esto funcione en Safari 5 también? Este es el código actual que tengo que desactivar la caché (incluido en la parte superior de cada página):Prevención de la memoria caché en el botón de la parte posterior en Safari 5
Dim pStr
pStr = "private, no-cache, no-store, must-revalidate"
Response.AddHeader "pragma","no-cache" '?
Response.AddHeader "cache-control", pStr '? Er ikke sikker på om disse 3 siste er nødvendige.
Response.AddHeader "cache-control", "post-check=0, pre-check=0" '? Er ikke sikker på om disse 3 siste er nødvendige.
Response.AddHeader "Expires", "Mon, 26 Jul 1997 05:00:00 GMT" '?
Response.AddHeader "Last-Modified", Now()
Gran solución - ¡Confirmado para funcionar a partir de iOS 6 (iPhone y iPad)! Gracias Mika! – Jesse
Esto también funciona en Safari 6, escritorio. El viejo truco de window.onunload ya no funciona de manera consistente; ahora debería considerarse la respuesta "correcta". –
Esto funciona en iPad. Desafortunadamente (al menos para mí), tiene el efecto secundario de volver a cargar la página cuando se despierta del modo de suspensión. Y si el usuario ha hecho un montón de cambios en los elementos del formulario que producen todo tipo de cambios en la pantalla, el usuario debe comenzar de nuevo. ¿Hay alguna manera de volver a cargar la página solo desde un botón de retroceso, pero no si se está despertando? –