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 :

Cache lors de l'appel d'un fichier.js


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Cache lors de l'appel d'un fichier.js
    Bonjour,

    J'ai un souci avec une application web.
    Le fichier index.html a été correctement codé (je crois) avec tout ce qu'il faut pour que tous les fichiers nécessaires soient chargés dans le cache. (après vérification dans le cache du navigateur tout y est bien)

    Au premier chargement de l'application tout fonctionne parfaitement. Après un raffraichissement le code javascript contenu dans le fichier player.js n'est pas exécuté.

    En regardant dans la console de chrome j'ai le message suivant :

    Document was loaded from Application Cache with manifest    ***/application.manifest
    Application Cache Checking event                            ***/application.manifest/:1 
    Failed to load resource: net::ERR_FAILED                    ***/data/player.js?A75BC7BD
    Uncaught ReferenceError: PresentationPlayer is not defined  ***/application.manifest/:61 
    Application Cache NoUpdate event                            ***/application.manifest/:1 
    Dans mon index.html j'ai le code suivant :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="data/player.js?A75BC7BD"></script>
    Je pense que c'est la partie "?A75BC7BD" qui pose problème. Le naigateur ne semble pas capable de charger le fichier player.js avec ce "?A75BC7BD" dans le src qu'il doit sans doute interpréter comme étant le nom du fichier.

    Après de longues recherches je suis incapable de comprendre à quoi sert ce "?A75BC7BD". Est-ce qu'une âme charitable saurait m'en expliquer le but ?

    Pour info le code de l'application a été généré "salement" avec iSpring (outil servant à convertir des powerpoints en application html 5/javascript. Le code contenu dans player.js est une belle horreur qui décrypte le code crypté de chaque autre fichier slider1.js, slider2.js ... slider29.js qui contiennent en crypté le contenu du BODY de chaque page.
    Je soupçonne que ce "?A75BC7BD" dans l'appel du fichier player.js est un argument mais je n'ai aucune idée de quelle variable est concernée.

    Merci beaucoup pour votre aide.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ca ressemble typiquement à une gestion de version.

    Le principe est assez simple. Sémantiquement, une requête GET récupère une ressource du serveur avec des paramètres associés (alors qu'une requête POST soumet cette ressource avec les paramètres transmis dans le corps de la requête).
    Cela signifie, en terme de cache, qu'une requête POST ira toujours demander au serveur sans interroger le cache (mais ici, on s'en moque un peu car il n'est pas possible de requêter la source d'un script en POST) alors qu'une requête GET interrogera le cache pour savoir si la ressource existe avec ces paramètres.
    Concrètement, à chaque nouvelle version du script, on va modifier le paramètre d'appel, ce qui aura pour effet que l'URL avec ce paramètre n'existe pas dans le cache et devra être récupérée depuis le serveur.

    Maintenant, si tu demandes de récupérer tes ressources exclusivement depuis le cache mais que la version du script est mise à jour, alors ça plante puisqu'il n'existe pas de ressource dans le cache avec cette URL contenant ce paramètre.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/01/2014, 14h06
  2. [Appengine] Problème lors de l'appel du fichier d'index
    Par narutoe dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 16/01/2013, 19h47
  3. Problème de variable lors de l'appel d'un fichier sql
    Par eomer dans le forum Shell et commandes GNU
    Réponses: 18
    Dernier message: 13/12/2011, 11h42
  4. Réponses: 0
    Dernier message: 31/10/2011, 17h18

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