Caching es tu amigo. Si los navegadores están guardando en caché estos archivos incorrectamente, significa que algo está mal con los encabezados HTTP que su servidor web está enviando junto con los archivos JS y CSS (no la página HTML que los usa). El navegador usa esos encabezados para determinar si puede almacenar en caché el archivo.
Su servidor web puede enviar estas cabeceras (en todos los archivos JS y CSS sirve) para indicar a los navegadores que no hagan caché ellos:
Cache-Control: no-cache
Pragma: no-cache
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Pero eso va a aumentar la carga de la red en su sitio, y los usuarios ver la carga de la página más lenta. Usted podría ser un poco más flexible y permitir que el navegador para almacenar en caché el archivo CSS durante 60 segundos:
Cache-Control: max-age=60
Si realmente desea que el navegador para comprobar si hay un nuevo archivo con cada carga de página única, puede todavía ahorrar algo de tráfico de red mediante el uso de un ETag:
Cache-Control: max-age=0
Pragma: no-cache
Expires: Sat, 01 Jan 2000 00:00:00 GMT
ETag: "o2389r-98ur0-w3894tu-q894"
El ETag es simplemente un identificador único servidor web constituye cada vez que los cambios en los archivos. La próxima vez que el navegador quiere el archivo, le pregunta al servidor, "¿/js/pm.init.js todavía tiene ETag o2389r98ur0w3894tuq894?" y si es así, su servidor simplemente dice "sí". De esta forma, su servidor no tiene que enviar todo el archivo nuevamente, y el usuario no tiene que esperar a que se cargue. Ganar-ganar
Cómo convencer a su servidor web de que genere automáticamente ETags depende del servidor. Por lo general, no es difícil.
He visto el truco que está utilizando antes. Al igual que en la Web, no es bonito ni particularmente eficiente, pero funciona.
¿Se deben obtener cada carga de página o solo cuando se realiza una nueva versión? –
Sí ¿por qué en el mundo querría * evitar * el almacenamiento en caché de su contenido estático? Eso es exactamente lo contrario de lo que las personas generalmente hacen. – Pointy
@Nick Craver & Pointy: ¿Tal vez está depurando y no quiere borrar el caché cada vez? Eso es todo lo que puedo entender. – Robusto