Tengo este problema molesto con Safari 6, cada vez que retrocedo o adelante (tanto los botones de la barra de herramientas como dos cantantes), la pestaña se actualiza. Aquí hay un video rápido para ilustrar el problema: https://dl.dropbox.com/u/3257155/safari-refresh.mov
Normalmente no me importaría, creció un poco en mí con el tiempo (no estoy muy seguro de que esto comenzó cuando actualicé a Safari 6 o a Mountain Lion; hubo aproximadamente una semana entre las actualizaciones), pero mi cliente encontró un error en la aplicación web que construí (algunos botones dejan de responder cuando regresa, todavía está en Lion) y no puedo reproducir el problema porque mi Safari se actualiza cada vez.
Entonces mi pregunta es, ¿cuál es el comportamiento normal de Safari? ¿Y cómo/si puedo hacer que Safari no se actualice?
Resulta que el problema era que Safari no activa (de forma predeterminada) onLoad incluso cuando está en la "acción de retroceso". No pude reproducir el error en mi máquina porque aparentemente la extensión 1password causa el evento onLoad incluso cuando regresa.
Resulta que el problema era que Safari no activa (de manera predeterminada) onLoad incluso cuando se realiza la "acción de retroceso" (usando el botón Atrás o deslizando dos dedos), pero no pude reproducir el error en mi máquina porque aparentemente la extensión 1password provoca el evento onLoad incluso cuando regresa.
Así que supongamos este código en todas las páginas:
$(document).ready(function () {
alert('test');
}
Y esta secuencia de acciones:
Safari no mostrará la alerta después de los pasos 3 y 4, por lo que el evento onLoad no se activa y la página .js continúa la ejecución desde donde se quedó cuando se alejó de la página.
También en la versión actual 6.0.3, tener la extensión 1password (3.9.14) parece no tener efecto sobre este comportamiento.
Espero que ayude. Esto no debería importar en la mayoría de los casos, solo cuando escribes un código incorrecto (como lo hizo) te morderá el trasero :)
Si bien visualmente parece que la página se está actualizando, si la respuesta original tenía los encabezados de caché apropiados, se servirá desde el caché y no se realizará ninguna solicitud al servidor hasta que el caché esté obsoleto.
Mientras probaba esto, me encontré con un problema en el que el inspector web de Safari no parece indicar correctamente si una página se cargó desde el caché, pero mientras monitoreaba los registros de mi servidor, parecía que Safari respetaba los encabezados del caché que se devolvían después de todo.
Cuando un servidor envió encabezados que no permiten el almacenamiento en caché con la respuesta, o el caché ha caducado mientras tanto, Safari, como cualquier otro navegador, realizará una nueva solicitud al volver a visitar una página del historial.
También tenga en cuenta que puede deshabilitar completamente el almacenamiento en caché desde el menú Desarrollar (si está habilitado). Asegúrate de no habilitar esta opción.
stu wilson
dan f
stu wilson
lenar hoyt
lenar hoyt
Prestar
lenar hoyt