[question bete] fichier JS à part

fichier JS à part [question bete] - HTML/CSS - Programmation

Marsh Posté le 26-05-2002 à 20:25:23    

salut,  
 
quand on met un fichier JS a part, il est mis dans le cache.
Donc d'après ce que j'ai compris ca évite de le récupèrer a chaque fois.
mais si, le fichier vient à changer.
 
comment ca se passe niveau client ?
Le navigateur détecte que c'est un nouveau et le récupère ?

Reply

Marsh Posté le 26-05-2002 à 20:25:23   

Reply

Marsh Posté le 26-05-2002 à 20:41:30    

:jap:

Reply

Marsh Posté le 26-05-2002 à 20:43:03    

euh ?
 
Je@ng vient de me dire sur ICQ que le navigateur envoyait la date de modification pour savoir si c'était un nouveau contenu dans le fichier

Reply

Marsh Posté le 26-05-2002 à 21:14:24    

ça dépend ... si tu contrôles le serveur, tu peux envoyer des headers http pour dire "ce fichier n'est jamais modifié, il faut le recharger à chaque affichage de page".
 
si ces headers ne sont pas présents, 2 cas :
 
* ton fichier js ne sera jamais rechargé à moins de faire un refresh (ctrl+f5)
* si le navigateur est 'bien' configuré (ie5.5, ie6), celui-ci demande pour chaque fichier la date de sa dernière modification. ça prend qq dizaines d'octets : le navigateur envoie "j'ai ce fichier qui date de telle date", le serveur répond soit "ok, il a été mis à jour, voici la nouvelle version" (il envoie tout le fichier) soit "le fichier est toujours le même !" (donc qq dizaines d'autres octets).

Reply

Marsh Posté le 26-05-2002 à 21:14:42    

:??:


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 26-05-2002 à 21:22:07    

merci youdontcare.
 
En fait le mieux, mais en meme temps le moins bien, c'est de le recharger a chaque fois ?
 
parce que ca peut etre embetant si un navigateur ne se rend pas compte que le fichier a changé :/

Reply

Marsh Posté le 26-05-2002 à 21:35:02    

y'a pas de "mieux" ou de "moins bien", tu choisis en fonction de tes besoins.  
 
tu utilises des libs testées et approuvées : pas besoin de trifouiller, lien direct.
 
tu veux rajouter des fonction js mais toujours les garder dans un fichier à part, tu utilises un deuxième .js.
 
tu a un langage script côté serveur : tu peux forcer le refresh du .js à chaque fois, mais ce n'est pas une super solution, car beaucoup deviennent assez gros et bloquent l'affichage de la page tant qu'ils ne sont pas chargés.
 
une solution sympa : tu utilises un script serveur, par exemple tu génères du php qui est toujours dynamique. tu n'as qu'un fichier js que tu veux pouvoir modifier à volonté et que n'importe quel navigateur recharge après modifs : tu utilises comme lien non pas script.js, mais script.js?identifier, où 'identifier' est un champ que tu changes dès que tu veux que le navigateur recharge ton fichier. comme le nom n'est pas dans l'historique du browser, le fichier sera rechargé.

Reply

Marsh Posté le 26-05-2002 à 21:39:12    

la dernière soluce est ce qu'il me fallait merci

Reply

Marsh Posté le 26-05-2002 à 21:45:28    

et pour les .css c'est pareil ?

Reply

Marsh Posté le 26-05-2002 à 21:46:36    

pareil tous les fichiers, http ne fait pas de différence.

Reply

Marsh Posté le 26-05-2002 à 21:46:36   

Reply

Marsh Posté le 26-05-2002 à 21:47:50    

:jap:

Reply

Marsh Posté le 27-05-2002 à 16:24:49    

Citation :

si le navigateur est 'bien' configuré (ie5.5, ie6), celui-ci demande pour chaque fichier la date de sa dernière modification.


 
 
c'est ou que je pourrai savoir quels sont les navigateurs qui font ca ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed