IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

comment prendre en compte une mise à jour


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut comment prendre en compte une mise à jour
    Bonjour,

    J'utilise un fichier javascript pour éditer un menu. Lors d'une mise à jour, je me suis aperçu que le navigateur utilisait une version ancienne de ce fichier qui était en cache internet. Le résultat était donc très différent de celui attendu.
    Ma question est donc simple :
    Comment forcer le navigateur à aller chercher la nouvelle version du fichier javascript ?
    J'ai bien vu la méthode proposée par SpaceFrog
    (http://javascript.developpez.com/faq...#navig.nocache)
    mais je n'ai pas compris.

    Merci.

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    j'ai pas compris.
    Tu cherches a charger un nouveau fichier de script dans une page deja affichée, ou bien tu veux que au rechargement de la meme page, le visiteur ai acces a un nouveau de script?
    Z.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut recharger un nouveau script
    J'utilise un script pour créer un menu dans une page.
    Ce menu évolue dans le temps (tous les six mois environ).
    Il se compose d'un fichier htm qui fait appel à un fichier javascript
    Tout à l'heure j'ai fait une mise à jour.
    En local ça marchait bien. J'ai chargé les nouveaux fichiers sur mon site. L'affichage du menu prenait en compte le nouveau fichier (htm) et l'ancien fichier (js) : le résultat n'était pas celui attendu.
    Il a fallu que je vide le cache internet de mon navigateur (Mozilla Firefox) pour que le nouveau fichier javascript soit pris en compte.
    J'ai peur que les visiteurs aient la même mésaventure et s'imaginent qu'il y a un bug.
    Merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    soit avec des balises meta no-cache ... mais pas sur que cela agisse sur des scripts externes

    soit en mettant un timestamp dans le src de ton lien

    sur le onload de ta page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script type='text/javascript'>
    function foo(){
    var ScriptLinks=document.getElementsByTagName('script');
    for(i=0;ScriptLinks[i];i++){
    if (ScriptLinks[i].src){ScriptLinks[i].src+="?"+new Date()}
    }
    }
    </script>
    </head>
     
    <body onload="foo()">
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut
    Donc si je comprends bien, je rajoute un paramètre (la date) à chaque balise script de mon document. Ce paramètre n'est pas utilisé mais oblige le navigateur à recharger le fichier de script.
    Cependant l'utilisateur utilise lors de sa visite de nombreuse fois ce script pour un menu déroulant et celui-ci ne change qu'une fois tous les six mois environ. Cela ne risque-t'il pas de ralentir beaucoup la navigation ?
    N'est-il pas possible qu'à l'ouverture du document principal on puisse vérifier si une nouvelle version des documents existent et recharger ces nouvelles versions ?

    Je pensais sinon modifier le nom de mon fichier script pour qu'il intègre un numéro de version. Ainsi tant que l'utilisateur a en cache une ancienne version du site, elle reste fonctionnelle. Dés qu'il recharge la nouvelle version, les fichiers de script sont nécessairement distincts.

    Question subsidiaire : quelle est la politique de cache des différents navigateurs ?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Oui le fait d'ajouter un paramètre oblige le navigateur à retourner à la source.

    Changer le nom du script est une possibilité mais t'oblige à changer la page à chaque fois, puisque tu devras changer le non du fichier dans le src de la balise

    Pour ce qui est de ralentir la navigation ... il fait quelle taille ton fichier script ??
    A mon avis ce sera peanuts.


    En ce qui concerne la vérification d'une nouvelle version c'est réalisable mais pas en javascript, il te faudrait du php en amont pour lister un repertoire, parser le nom de fichiers contenant le nr de version, et du coup rediger avec php ta balise script src ...

    Une dernière bidouille qui me vient à l'esprit serait d'avoir un fichier js externe avec le dernier nr de version...

    et du coup un script qui vient modifier le src en y ajoutant ce nombre à la fin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .src='monfichierscript'+vers+'.js'
    le rechargement ne sera peut être pas systématique
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut
    Il s'agit d'un script permettant de dérouler un sous-menu.

    J'ai essayé de mettre le script en pièce jointe mais il est très lent à répondre. Je ne sais pas si ça a marché
    la taille est de 15ko

    On peut voir la réalisation sur ce site

    http://histoiremondiale.free.fr

    Sinon je fais déjà du php et j'ai regardé cela
    http://www.wikini.net/wakka.php?wiki...veauApplicatif

    Je vais essayé ta méthode.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire une mise à jour ?
    Par Cvbdev dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 13/08/2007, 16h39
  2. Réponses: 7
    Dernier message: 11/04/2007, 14h21
  3. Comment programmer une mise à jour ?
    Par qnop dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 15/03/2006, 16h33
  4. [C#][ MSI] Comment effectuer une mise à jour d'application ?
    Par th3r1ddl3r dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/12/2005, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo