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 :

rafraichissement contenu flash via javascript


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut rafraichissement contenu flash via javascript
    Bonjour

    Je début en Javascript. Je souhaite intégrer un lecteur mp3 sur mon site internet développer en php avec une BDD SQL contenant des musiques.

    Pour le moment, je teste simplement un lecteur mp3. La playlist est configurable via un fichier 'load.xml'.

    Dans l'exemple, le fichier load.xml comprends initialement 4 chansons.

    Exemple : lors que je lance ma page de test 'embed_php.php'(j'utilise wampserver) la playlist de 4 chansons est bien affichée dans le lecteur mp3 => OK

    Probleme de rafraichissement :

    Je modifie le load.xml en supprimant 3 chansons par exemple.
    je devrais donc avoir dans le player 1 seule chanson au raffraichissement de la page (F5 par exemple ou bien suite formulaire php qui recharge la page).
    En fait le player continue a afficher les 4 chansons => Probleme de rafraichissement.

    Par contre si je ferme la page internet et que je que la relance (toujours via wamp) lecteur affiche la nouvelle playlist (1 chansons correspondant bien au load.xml)

    Apres avoir regarder un peu partout j'en ai déduit que cela pourrait peut etre venir d'un probleme de raffraichissement de cache de la page.

    Quelqu'un pourrait il m'aider pour pouvoir raffraichir la playlist correctement a chaque modification du fichier de load.xml ??

    Merci d'avance.


    Pour info voila le code (tout simple) de ma page de test :

    Code html : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!-- saved from url=(0014)about:internet -->
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>EMBED</title>
    <!-- SWFObject embed by Geoff Stearns <a href="mailto:geoff@deconcept.com">geoff@deconcept.com</a> <a href="http://code.google.com/p/swfobject" target="_blank">http://code.google.com/p/swfobject</a> -->
    <script type="text/javascript" src="swfobject.js"></script>
    <style type="text/css">
            
            body {
                    background-color: #FFFFFF;
                    font: .8em/1.3em verdana,arial,helvetica,sans-serif;
            }
     
            #info {
                    width: 300px;
                    overflow: auto;
            }
     
    </style>
    </head>
    <body>
    	<p> <a href="http://code.google.com/p/swfobject">swfobject</a></p>
     
        <div id="flashcontent">
     
    		<strong>You need to upgrade your Flash Player</strong>
    		This is replaced by the Flash content. 
    		Place your alternate content here and users without the Flash plugin or with 
    		Javascript turned off will see this. Content here allows you to leave out <code>noscript</code> 
    		tags. Include a link to <a href="swfobject.html?detectflash=false">bypass the detection</a> if you wish.
    	</div>
     
    	<script type="text/javascript">
                    // <![CDATA[
                    
                    var so = new SWFObject("index.swf", "flashcontent", "358", "357", "9", "#FFFFFF");
                    so.addVariable("xml_path","load/load.xml"); // this line is adding the path to the xml file make sure that is name is xml_path
                    so.write("flashcontent");
                    
                    // ]]>
            </script>
     
        <script type="text/javascript">
                    alert("HELLO");
            </script>
    </body>
     
    </html>
    Fichiers attachés Fichiers attachés

  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 : 53
    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
    Pour contourner le cache, il suffit d'ajouter un paramètre aléatoire au fichier appelé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    so.addVariable("xml_path","load/load.xml?nocache="+new Date().getTime ());

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut MERCI BOVINO
    Et bien je viens de faire la modif que tu proposes c'est extra ca marche.. Tu es un dieu !!

    Aurais tu un peu de temps pour m'expliquer le principe ?
    Je début en javascript, alors pas facile. En fait ce que je comprends pas c'est que le script "alert" afficher bien hello sans "contourner le cache". Pourquoi l'autre marchait pas en fait ?

    Finalement ca sert a quoi de contourner le cache ?

    Pas facile quand on début... mais t'es vraiment super sympa car ca fait déja 3 jours que je cherche partout sans réponse..

    Merci encore

  4. #4
    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 : 53
    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
    Ce n'est pas spécifique à JavaScript.
    Quand ton navigateur charge une page Web, il a tout un ensemble de fichiers à télécharger : le HTML (généré ou non sur le serveur), le(s) CSS, le(s) script(s), les fichiers image etc.
    Pour permettre à la page de s'afficher plus rapidement les fois suivantes, ces fichiers sont mis en cache (ton alert() est une instruction, pas un fichier, c'est pourquoi il n'est pas concerné par le cache).
    Donc quand la page appelle un fichier, le navigateur commence par regarder dans le cache si ce fichier existe pour éviter de le télécharger.
    Seulement, si des paramètres sont passés dans l'URL, le navigateur comprend que ce n'est pas forcément le même contenu, il vérifie donc si ce fichier avec ces paramètres existe dans le cache.
    Donc, si tu veux recharger le fichier depuis le serveur, il suffit de passer un paramètre dont tu seras sûr que la valeur n'a pas encore été transmise, c'est pourquoi on utilise habituellement le timestamp.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Merci Bovino encore
    Salut,

    Super merci pour la réponse. Je comprends mieux le principe maintenant. Tes explications sont superes claires.

    Sinon j'aurais une autre question : j'ai un formulaire que je rempli avec plusieurs listes (php). (noms des artistes, liste noms des éditeurs, liste noms des instruments...., liste noms des photos des artistes ....)

    Je teste les champs obligatoires que je dois remplir, et je valide mon formulaire.
    Dans la liste comprenant les noms des photos (les photos sont dans un bdd sql) je souhaiterais afficher dessous la photo selectionné dans la liste (c plus parlant de voir une photo qu'un nom) mais cela AVANT de valider mon formulaire global. Comment puis je faire ?

    En gros comment faire pour afficher la photo (dont je saisie le nom dans un liste) sans avoir a valider mon formulaire ?
    Ca doit encore etre du javascript ca mais je connais pas ce language.

    En tous cas milles merci encore une fois.
    Cldt

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/10/2011, 09h55
  2. Réponses: 0
    Dernier message: 21/10/2010, 11h03
  3. [POO] Changer la source d'un objet (flash) en Javascript
    Par thomine dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/02/2008, 16h54
  4. [FLASH MX2004] Javascript --> Flash
    Par bomber dans le forum Flash
    Réponses: 5
    Dernier message: 03/03/2005, 16h25
  5. [POO] Rendre invisible un objet Flash en Javascript
    Par tafkap dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/10/2004, 19h39

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