css - para - Hoja de estilos sin actualizar
lista de codigos css (11)
Estoy creando un sitio web, pero cuando realicé cambios en la hoja de estilo en mi sitio y actualicé el sitio, ninguno de los cambios se realizó.
Traté de usar la herramienta fuente de vista para verificar el stylesheet.css
y tampoco se actualiza. Pero cuando voy a la raíz de mi sistema, lo es.
Tengo que esperar al menos 20 minutos antes de ver la actualización en mi sitio, ¿alguien puede decirme por qué no veo cambios de inmediato? ¿Hay algún problema con mi navegador, computadora o servidor?
También traté de eliminar mis cookies, caché e historial, pero aún así no funcionó.
! [Borrar caché] Ctrl+Shift+Delete
http://i.stack.imgur.com/QpqhJ.jpg A veces es necesario hacer una actualización para ver si las actualizaciones entran en vigencia. Pero es poco probable que los usuarios promedio de la web sepan qué es una actualización difícil, ni tampoco pueden esperar que continúen actualizando la página hasta que todo se arregle. Aquí hay una forma de hacerlo: <link rel="stylesheet" href="style.css?v=1.1">
En mi caso, dado que no pude anexar una marca de tiempo de prevención de caché a la url de css, resultó que tuve que actualizar manualmente el grupo de aplicaciones en IIS 7.5.7600.
Se persiguieron todas las demás vías, hasta la desactivación del almacenamiento en caché completamente para el sitio y también para el navegador local (como por ejemplo, totalmente deshabilitado para ambos), pero no funcionó. Además, "reiniciar" el sitio web no hizo nada.
La misma posición que yo? [Nombre del sitio]> "Grupo de aplicaciones"> "Reciclar" es su último recurso ...
Esto es lo que me pasó una vez:
Mi style.css no estaba actualizando, ¡porque estaba editando otro archivo! (mismo nombre, pero era una copia del archivo real en otro directorio).
Por lo tanto, puede verificar si está editando y cargando el archivo real style.css.
Esto puede ser el resultado de la configuración de su servidor; algunos proveedores de hosting habilitan "Varnish" en su dominio. Este proxy inverso de caché HTTP, se utiliza para acelerar la entrega . Uno podría tratar de desactivar el barniz en el panel de control (suponiendo que tenga uno) y verificar si fue así.
La manera más fácil de ver si el archivo se almacena en caché es agregar una cadena de consulta al elemento <link />
para que el navegador lo vuelva a cargar.
Para hacer esto, puede cambiar su referencia de hoja de estilo a algo así como
<link rel="stylesheet" type="text/css" href="/css/stylesheet.css?v=1" />
Tenga en cuenta la parte v=1
. Puede actualizar esto cada vez que crea una nueva versión para ver si realmente se está almacenando en caché.
Lo más probable es que el servidor esté almacenando en caché el archivo. Puede inhabilitar el caché (pero recuerde habilitarlo cuando el sitio se publique), o modificar el href
de su etiqueta de link
, para que el servidor no lo cargue desde el caché.
Si su página se crea dinámicamente por algún lenguaje como php, puede agregar alguna variable al final del valor de href
, como:
<link rel="stylesheet" type="text/css" href="css/yourStyles.css?<?php echo time(); ?>" />
Esto agregará la marca de tiempo actual al final de una ruta de archivo, por lo que siempre será única y nunca se cargará desde la memoria caché.
Si su página es estática, debe gestionar esas variables usted mismo, por lo tanto, use algo como:
<link rel="stylesheet" type="text/css" href="css/yourStyles.css?version=1" />
después de hacer algunos cambios en el contenido del archivo, cambie la version=1
a la version=2
y así sucesivamente.
Si desea deshabilitar la memoria caché de los archivos caché css, consulte la documentación del tipo de servidor (se hace de forma diferente en apache, IIS, nginx, etc.) o pregunte / busque una pregunta en https://serverfault.com/
Asumiendo que IIS - agregando la clave debajo con las configuraciones correctas en la raíz o la carpeta relevante hace el truco.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<caching enabled="false" enableKernelCache="false" /> <!-- This one -->
</system.webServer>
</configuration>
Dicho esto, a veces uno tiene que reciclar el grupo de aplicaciones para "superar" el CSS. Por lo tanto: Deshabilitar el almacenamiento en caché de IIS por sí solo no es una solución 100% garantizada.
Para el navegador: hay algunas notas sobre grano fino que controlan la memoria caché local en FF en SuperUser para el interesado.
No actualice los estilos en style.css, en su lugar cree una nueva hoja de estilo e importe en style.css
your-own-style.css
.body{
/*any updates*/
}
importe your-own-style.css en style.css
@import url("your-own-style.css");
Puede que este no haya sido el problema del OP, pero tuve el mismo problema y lo solucioné al descargar y luego deshabilitar Supercache en mi panel de control. Quizás algunos novatos como yo no sepan que muchos proveedores de hosting almacenan en caché CSS y algunos otros archivos estáticos, y estas versiones antiguas almacenadas en caché de archivos CSS persistirán en la nube durante horas después de editar el archivo en su servidor. Si su sitio sirve versiones antiguas de archivos CSS después de editarlos, y está seguro de que ha borrado la memoria caché de su navegador, y no sabe si su host está almacenando en el caché, revise eso primero antes de probar cualquier otro sugerencias complicadas.
Si su sitio todavía no está activo, y solo desea actualizar la hoja de estilo a sus intervalos satisfechos, entonces use esto:
Ctrl + F5
Esto obligará a su navegador a volver a cargar y actualizar todos los recursos relacionados con la página del sitio web.
Por lo tanto, cada vez que cambie algo en su hoja de estilo y quiera ver los nuevos resultados, use esto.
En Mac OS Chrome use: Command + Shift + R.
Tuve el mismo problema y fue debido a que el navegador almacenaba en caché la hoja de estilo. Intente actualizar la caché:
Cmd + Shift + r (on a mac) OR Ctrl + F5 (on windows)
Esto hará una actualización completa y debería usar la nueva hoja de estilo que cargó en el servidor.
Tuve un problema similar, me enfureció aún más simplemente porque era muy lento para actualizar. No pude hacer que mis cambios tuvieran efecto mientras trabajaba en el sitio para salvar mi vida (tratando de borrar todo el caché y las cookies del navegador), pero si volvía al sitio más tarde en el día o abría otro navegador, Ellos eran.
También resolví el problema desactivando el software Supercacher en el cpanel de mi host (Siteground). También puede usar el botón "flush" para directorios individuales para probar si eso es todo antes de deshabilitarlo.