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 :

D�clenchement d'�v�nements sur le cache manifest de FF


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    14
    D�tails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Par d�faut D�clenchement d'�v�nements sur le cache manifest de FF
    Bonjour,

    Voila, j�essaie de comprendre avec un exemple simple le CACHE MANIFEST. J'aimerais faire le contr�le de la version du CACHE MANIFEST et recharger le cache si la version a chang�. �a me semble assez simple, mais je n'y arrive pas !!

    J'ai donc �crit (ou pris � droite et � gauche dans diff�rent tutoriel) le code suivant (ma page status.html):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
    <html manifest="gmas.manifest">
      <head>    
      <meta charset="utf-8" />
      <meta name="generator" content="PSPad editor, www.pspad.com"> 
      <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
      <title>appInventaire</title>
     
      <script>
     
     
      function logEvent(a) {
        console.log(a.type);
        switch (a.type)
        {
          case "checking":
              document.getElementById('container').innerHTML = "Vérification...";
          break;
          case "noupdate":
              document.getElementById('container').innerHTML = "Version à jour";
          break;
          case "progress":
              document.getElementById('container').innerHTML = "En cours";  
          break;
          case "downloading":
              document.getElementById('container').innerHTML = "Téléchargement en cours...";
          break;
          case "cached":
              document.getElementById('container').innerHTML = "A jour";
          break;
          case "updateready":
              document.getElementById('container').innerHTML = "Mise à jour installée";
          break;
          case "obsolete":
              document.getElementById('container').innerHTML = "Version obsolete";
          break;
          case "error":
              document.getElementById('container').innerHTML = "Erreur";
          break;
          default:
              document.getElementById('container').innerHTML = "En attente...";
          break;
        } 
        if (a.type == "updateready" || a.type == "cached") {
            window.applicationCache.swapCache();
        }
        if (a.lengthComputable) {
            console.log("total:" + a.total + "  loaded:" + a.loaded);
        }
        if (a.type == "error") {
            window.applicationCache.update();
            document.getElementById('container').innerHTML = "Mise à jour forcée";
     
        }
     
      }  
     
      $(function() {
            if(window.applicationCache){
                window.applicationCache.addEventListener("checking", logEvent, false);
                window.applicationCache.addEventListener("downloading", logEvent, false);
                window.applicationCache.addEventListener("noupdate", logEvent, false);
                window.applicationCache.addEventListener("progress", logEvent, false);
                window.applicationCache.addEventListener("error", logEvent, false);
                window.applicationCache.addEventListener("cached", logEvent, false);
                window.applicationCache.addEventListener("updateready", logEvent, false);
                window.applicationCache.addEventListener("obsolete", logEvent, false);
            }
      });
     
     
      </script>
      <style type="text/css">
     
      #container.default{
        position:absolute;
        right: 2px;
        top: 2px;
        width: 200px;
        height:18px;
        color: #fff;
        padding: 1px 3px;
        background-color: #000; 
        opacity:0.7;
        font-size:13px;
      } 
     
      </style>
      </head>
      <body>
     
     
        <div id="container" class="default">???</div>
      </body>
    </html>

    mon fichier gmas.manifest :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    CACHE MANIFEST
     
    # v1.1 2012-12-03 68
     
    status.html
    http://code.jquery.com/jquery-latest.min.js
    et enfin, mon fichier .htaccess :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    AddType text/cache-manifest .appcache
     
     
    <IfModule mod_expires.c>
      ExpiresActive on
     
    # cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
      ExpiresByType text/cache-manifest       "access plus 0 seconds"
     
      <IfModule mod_headers.c>
        Header append Cache-Control "public"
      </IfModule>
     
    </IfModule>
    Avec ce code et en utilisant Chrome, les �v�nements 'CHECKING' puis 'DOWNLOADING' sont bien d�clench�es.
    Par contre avec FF 17, j'ai seulement les �v�nements 'CHECKING' puis 'ERROR' (et seulement ceux l�, sans jamais avoir d'autres �v�nements d�clench�s)

    Je ne comprends pas pourquoi et je ne sais pas comment corriger ce probl�me.

    Par avance merci pour votre aide.
    Laurent

  2. #2
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    14
    D�tails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Par d�faut
    Bonsoir,

    N'y a-t-il personne pour m'aider � avancer sur ce probl�me ?
    Peut-�tre je ne suis pas tr�s claire dans l'explication ?

    Merci d'avance
    Laurent

  3. #3
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Bonsoir,

    D�sol�, ta question est tr�s claire mais parfois certaines questions s'�garent. Si tu n'as pas eu de r�ponse en 3 jours n'h�site pas � relancer.

    Le code a l'air bon, de plus si tu dis que �a fonctionne sur Chrome et les versions pr�c�dentes de FF �a me conforte dans l'id�e que tout est correct. Je pencherais plus sur une r�gression propre � cette version 17. D'ailleurs j'ai eu moi-m�me quelques soucis sp�cifiques � la version 17, mais qui n'avaient rien � voir avec ce cas-ci (bug de rendu CSS)

    Vu que tu log l'�v�nement error, peux-tu nous donner tout le contenu de cet �v�nement (un console.log(a) dans logEvent fera l'affaire)

Discussions similaires

  1. R�ponses: 4
    Dernier message: 16/07/2013, 19h40
  2. R�ponses: 1
    Dernier message: 11/11/2011, 01h05
  3. Quel �v�nement sur le redimensionnement ?
    Par Yoh dans le forum Agents de placement/Fen�tres
    R�ponses: 2
    Dernier message: 01/07/2004, 13h05
  4. [D�butant][jsp] �v�nement sur une liste
    Par phoebe dans le forum Servlets/JSP
    R�ponses: 5
    Dernier message: 14/05/2004, 10h53
  5. Probl�mes d'�v�nements sur ComboBox
    Par bakaneko dans le forum MFC
    R�ponses: 3
    Dernier message: 23/02/2004, 08h46

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