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 :

[POO] Changer la source d'un objet (flash) en Javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 92
    Points : 70
    Points
    70
    Par défaut [POO] Changer la source d'un objet (flash) en Javascript
    Bonjour,

    J'ai une page HTML composée d'un menu que j'ai fait en CSS et d'un flash.
    Quand je clique sur une autre rubrique du menu, j'appelle une nouvelle page html, identique à la 1ère excepté le flash.

    La transition entre les 2 pages est donc un changement de page HTML. J'aimerais plutôt faire le changement du fichier Flash et garder toujours la même page HTML. Je voulais faire cela en javascript, en modifiant la source du fichier flash, ça marche sous IE mais pas sous mozilla.

    Voici le code HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="332" height="332" id="flash">
    <param name="movie" value="app00.swf">
    <param name="quality" value="high">
    <embed name="flash" src="app00.swf" width="332" height="332" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" ></embed>
    </object>

    Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var d = document.getElementById("flash");
    d.movie="app01.swf";

    Cette fonction Javascript me modifie la balise OBJECT, ce qui fait que ça fonctionne sous IE, mais je n'arrive pas à modifier le SRC du EMBED, et donc ça ne marche pas sous Mozilla.

    Si quelqu'un pouvait m'aider, ça serait vraiment cool. Sinon, je pense que je vais être obligé de refaire toute ma page et de faire mon menu en flash.

    MERCI !!!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Points : 475
    Points
    475
    Par défaut
    Il faudrait utiliser "id" au lieu de "name"...
    <embed id="flash" src="app00.swf" width="332" height="332" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" ></embed>

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 92
    Points : 70
    Points
    70
    Par défaut
    D'abord, merci pour ta réponse rapide.

    Effectivement, en ajoutant la balise id, j'arrive à modifier l'attribut SRC de ma balise EMBED. Le seul problème, c'est que cela ne change pas mon animation Flash. Le problème doit venir du fait que c'est justement un Flash, puisque ça marche avec une image GIF.

    Voici le code complet de ma page.

    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans nom</title>
    <script language="JavaScript" type="text/javascript">
    function change_flash() {
    	var d = document.getElementById("flash");
    	var d2 = document.getElementById("moz");
    	if (d.movie == "app01.swf") {
    		d.movie="app00.swf";
    		d2.src = "app00.swf";
    		alert(d.movie + " - " + d2.src);
    	} else {
    		d.movie="app01.swf";
    		d2.src = "app01.swf";
    		alert(d.movie + " - " + d2.src);
    	}
    }
    </script>
    </head>
     
    <body>
    <a onClick="change_flash();">changer</a><br>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="332" height="332" id="flash">
      <param name="movie" value="app00.swf">
      <param name="quality" value="high">
      <embed id="moz" name="flash" src="app00.swf" width="332" height="332" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" ></embed>
    </object>
    </body>
    </html>
    Si quelqu'un a une idée pour que je puisse modifier l'animation flash de ma page sans recharger la page HTML, MERCI !!!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Points : 475
    Points
    475
    Par défaut
    Peut-être en le retirant du flux HTML et en le remettant directement:
    (à la fin de la fonction)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("flash").style.display="none";
    document.getElementById("flash").style.display="";

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 92
    Points : 70
    Points
    70
    Par défaut
    CA MARCHE !!!

    Un grand merci à toi Gaara pour cette petite feinte anodine mais drolement efficace. Je ne savais pas que le style.display retirait l'objet du flux HTML, c'est bon à savoir !

    Voici un exemple qui marche :
    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans nom</title>
    <script language="JavaScript" type="text/javascript">
    function change_flash() {
    	var d = document.getElementById("flash");
    	var d2 = document.getElementById("moz");
    	if (d.movie == "app01.swf") {
    		d.movie="app00.swf";
    		d2.src = "app00.swf";
    	} else {
    		d.movie="app01.swf";
    		d2.src = "app01.swf";
    	}
    	document.getElementById("flash").style.display="none";
    	document.getElementById("flash").style.display="";
    }
    </script>
    </head>
     
    <body>
    <a onClick="change_flash();">changer</a><br>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="332" height="332" id="flash">
      <param name="movie" value="app00.swf">
      <param name="quality" value="high">
      <embed id="moz" name="flash" src="app00.swf" width="332" height="332" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" ></embed>
    </object>
    </body>
    </html>
    Encore merci.
    Longue vie à developpez.net, vraie mine d'or pour tout passionné d'informatique.

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    geniaaaaal
    merci Jung!!!!!!!!!!!!!!!

    un seul probleme j'utilise ce code pour changer de video
    lier au net, mais, le lecteur change trop vite (il me semble)

    d2.style.display="none";
    d2.style.display="";

    l'autre video ne se charge pas, j'ai mis un alert

    d2.style.display="none";
    alert("la video est charger")
    d2.style.display="";

    ce qui permet de charger la video,
    quelqu'un aurait une meilleure sollution???

    Quoiqu'il en soit, sa fonctionne super Merci encore a tous

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    uhm par contre sous internet explorer, sa ne fonctionne pas...
    la video ne change pas....voici mon code:

    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
     
     
    <!bouton pour lancer la fonction!>
    <input type="button" value="change video" onclick="charge_vid('http://www.dailymotion.com/swf/x32mgo')">
     
    <!la video a changer!>
    <center>
    <div name="vid" class="gauche">
    <object width="420" height="252" name="lec">
    <param id="vid1" name="movie" value="http://www.dailymotion.com/swf/x3hj51"></param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowScriptAccess" value="always"></param>
    <embed id="vid" src="http://www.dailymotion.com/swf/x3hj51" type="application/x-shockwave-flash" width="420" 
     
    height="252" allowFullScreen="true" allowScriptAccess="always"></embed></object><br /><b></a></i></div>
    </center>
     
     
     
    <!le script!>
    <script language="Javascript">
    function charge_vid(i)
    {
    var d=document.getElementById("vid");
    d.src=i;
    d.style.display="none";
    alert("video charger ;)");
    d.style.display="";
    }
    </script>
    alors s'il vous plait ,
    Comment faire fonctionner se code sous internet explorer?

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

Discussions similaires

  1. Changer les attributs d'un objet flash
    Par Zaroc114 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 23/04/2011, 21h55
  2. Modifier paramètre d'un objet flash avec Javascript
    Par ismuismu dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2009, 23h38
  3. [PHP 5.2] [POO] Changer la classe d'un objet déjà instancié
    Par fourchette dans le forum Langage
    Réponses: 5
    Dernier message: 06/08/2009, 14h46
  4. [POO] Modifier les dimensions d'une scene flash en Javascript
    Par Peyothe dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/06/2008, 11h19
  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