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 :

focus sur une animation Flash


Sujet :

JavaScript

  1. #1
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut focus sur une animation Flash
    salut.
    je connais pas javascript mais je veux donner le focus à mon animation flash intégrée à une page web : mon post sur le forum Flash


    j'ai fais beaucoup d'essais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('Jeux').focus();
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <SCRIPT language="Javascript"> 
    <!--
    window.document.getElementById('Jeux').onclick= function(){alert("blabla")};
    </SCRIPT>
    que j'ai trouvé dans la FAQ pour voir si mon animation peut être référencée...mais toujours pas de résultat.

    avez vous une solution pour ça . merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('Jeux').focus();
    est la syntaxe correcte (par rapport à d'autres qui t'ont été proposées) si ton objet HTML possède bien un attribut id="Jeux"
    Par contre, par rapport au thread que tu donnes en lien, je note une différence par rapport à la solution qui t'est donnée en référence (et qui semble fonctionner) : l'id n'est pas défini par un simple attribut HTML dans la balise principale. Il s'agit d'un <param> à ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <object....>... <param name="id" value="Jeux">
    Sinon, attention : ces réponses dataient de 2003, les choses ont peut être évolué depuis

    A+

  3. #3
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut.
    merci pour la réponse mais toujours pas de résultat
    je pense laisser tomber mais je me dis pourquoi ne pas donner tout mon code avant .
    peux être j'ai fais une erreur de syntaxe :

    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
     
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Jeux</title>
    </head>
     
     
     
    <SCRIPT language="Javascript"> 
    <!--
    document.getElementById('Jeux').focus();
    </SCRIPT>
     
    <body bgcolor="#ffffff">
    <!--URL utilisées dans l'animation-->
    <!--texte utilisé dans l'animation-->
    <!--
    <p align="center"></p>
    -->
    <!-- saved from url=(0013)about:internet -->
     
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="660" height="560" 
     
    id="Jeux" align="middle">
     
    <param name="allowScriptAccess" value="sameDomain" />
     
    <param name="movie" value="Jeux.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="Jeux.swf" quality="high" bgcolor="#ffffff" width="660" height="560" 
     
    name="Jeux" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
     
    <param name="id" value="Jeux">
     
    </object>
    </body>
    </html>

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par slim_java Voir le message
    je me dis pourquoi ne pas donner tout mon code avant .
    peux être j'ai fais une erreur de syntaxe
    Bonne idée

    Car sans parler de syntaxe, il y a une erreur (chrono)logique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <SCRIPT language="Javascript"> 
    <!--
    document.getElementById('Jeux').focus();
    </SCRIPT>
    Tel qu'il est placé, en début de page, cette instruction est lancée alors que la page n'est pas encore chargé. L'élément "Jeux" n'existe donc pas encore.
    Soit tu déplaces ce bloc<script> tout en bas de ta page (entre </body> et </html>), soit tu lances l'instruction sur l'évènement onload de la balise <body> (qui garantit lors de son déclenchement que tous les objets de la page ont été chargés).

    Par contre, ce n'est pas en multipliant les id="jeux" sous toutes les formes comme tu le fais que tu auras plus de chances que ça marche. Il faut simplement trouver la bonne formulation
    Rappel :
    pour un bon fonctionnement du DOM (en fait, pour un fonctionnement tout court ...) un id doit être unique dans la page

    A+

  5. #5
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    </SCRIPT>[/code]Tel qu'il est placé, en début de page, cette instruction est lancée alors que la page n'est pas encore chargé.
    j'ai du pensé à ça mais je me suis dis que peut être les scripts doivent être seulement dans la partie <head>

    Citation Envoyé par E.Bzz Voir le message
    Par contre, ce n'est pas en multipliant les id="jeux" sous toutes les formes comme tu le fais que tu auras plus de chances que ça marche. Il faut simplement trouver la bonne formulation
    j'ai tout simplement copié le code donné par flash en ajoutant ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object....>... <param name="id" value="Jeux">
    voila donc le code que j'ai fais :
    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
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Jeux</title>
    </head>
     
    <SCRIPT language="Javascript"> 
    <!--
    function focusMe()
    {
    document.getElementById('Jeux').focus();
    alert("appel fonction");
    }
    </SCRIPT>
     
     
    <body bgcolor="#ffffff" onLoad="focusMe()";>
    <!--URL utilisées dans l'animation-->
    <!--texte utilisé dans l'animation-->
    <!--
    <p align="center"></p>
    -->
    <!-- saved from url=(0013)about:internet -->
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="660" height="560"  
     
    align="middle">
     
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="Jeux.swf" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />
    <embed src="Jeux.swf" quality="high" bgcolor="#ffffff" width="660" height="560" name="Jeux" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" 
     
    pluginspage="http://www.macromedia.com/go/getflashplayer" />
     
    <param name="id" value="Jeux">
     
    </object>
    </body>
    </html>
    mais imaginez vous le résultat ?

    ...ça ne marche Pas...

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par slim_java Voir le message
    j'ai du pensé à ça mais je me suis dis que peut être les scripts doivent être seulement dans la partie <head>
    Ben ... il n'est pas non plus dans la partie <head> (mais ça n'aurait rien changé). Ce sont les déclaration de fonction qui doivent être faite dans le <head>, pas forcément les appels (même si dans certains cas c'est possible).
    Citation Envoyé par slim_java Voir le message
    j'ai tout simplement copié le code donné par flash en ajoutant ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object....>... <param name="id" value="Jeux">
    Oui mais du coup tu te retrouves avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <embed src="Jeux.swf" ... name="Jeux" ...>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <param name="id" value="Jeux">
    As-tu essayer d'enlever le name="Jeux" ?

    A+

  7. #7
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut.
    si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
    
    ......
    
    <param name="id" value="Jeux">
    alors j'obtiens rien méme pas l'affichage avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function focusMe()
    {
    document.getElementById('Jeux').focus();
    alert(document.getElementById('Jeux').width);
    }
    </SCRIPT>
     
    <body bgcolor="#ffffff" onLoad="focusMe()";>
    par contre j'obtiens un affichage pour la largeur de l'anim si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <embed src="Jeux.swf" quality="high" bgcolor="#ffffff" width="660" height="560"  id = "Jeux" align="middle" 
    
    allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" 
    
    />
    mais pas de focus !!

  8. #8
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    si c'est possible, je t'envoies l'animation et la page web

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par slim_java Voir le message
    si c'est possible, je t'envoies l'animation et la page web
    Pas la peine : je ne touche pas au Flash.

    J'essaye simplement de te donner des éléments en prenant le problème par le bout JavaScript

    Donc pour accéder à l'objet, c'est bien (et logiquement) ta 2° syntaxe qui est la bonne.
    Par contre, la gestion du focus doit être spécifique.
    (j'avais déjà remarqué que lorsqu'un <object> ou <embed> a le focus, la page ne fonctionne plus "normalement" : par exemple les raccourcis claviers du nav peuvent ne plus être pris en compte ... peut-être est-ce lié ...

    A+

  10. #10
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    merci pour tes réponses.
    je laisse le sujet ouvert peut être que quelqu'un'un aura une astuce pour ça.

  11. #11
    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
    je connais pas javascript mais je veux donner le focus à mon animation flash
    C'est tout simplement pas possible
    Tu peux éventuellement donner le focus à l'élément HTML contenant le l'objet Flash, mais certainement pas au Flash lui-même.
    C'est ton swf qui doit soit recevoir le clic, soit autoriser JavaScript à lui donner la main, et si tu n'as pas le contrôle dessus, ne rêves pas : tu n'y parviendras pas.

  12. #12
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut cher responsable.
    je suis désolé , mais pouvez vous m'expliquer de plus comment faire
    pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Tu peux éventuellement donner le focus à l'élément HTML contenant le l'objet Flash, mais certainement pas au Flash lui-même.
    pas du point de vue code, mais coté principe. merci

  13. #13
    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
    Bah... désolé, mais je n'ai jamais écrit une seule ligne d'actionScript, donc ça va être difficile.
    Ceci dit, il me semble qu'il existe des instructions du style allowScriptAccess...

    Bref, je pense que tu vas devoir retourner du coté d'ActionScript pour avoir ces infos.

  14. #14
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    ok merci.
    ça me fais bouger.
    puisque mais bases sont plus fortes en Java qu'en ActionScript, je vais essayer de faire une analogie(Applet java vs animation flash)
    merci encore.

  15. #15
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut.
    voila, j'ai trouver la solution enfin :

    voila le code qui a fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <SCRIPT language="Javascript"> 
     
    function focusMe()
    {
    document.Jeux.focus();
    }
    </SCRIPT> 
     
    <body bgcolor="#ffffff" onLoad=" focusMe();">
    ou bien tout court et vous connaissez mieux que moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body onLoad = "window.document.Jeux.focus();">
    avec Jeux est le paramètre name dans la balise object :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
    
    codebase="http://fpdownload.macromedia.com/pub/shockwave
    /cabs/flash/swflash.cab#version=8,0,0,0" width="660" height="560"  
    align="middle" name="Jeux">
    mais une contrainte qu'on a oublié :

    le navigateur !! est oui .

    ce code ne fonctionne en fait que sous Internet Explorer

    voila, c'est enfin ma petite expérience avec du javascript qui s'est bien terminée.
    merci pour toute personne qui a sacrifiée du temps pour me proposer de l'aide.
    bonsoir.


  16. #16
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par slim_java Voir le message
    ce code ne fonctionne en fait que sous Internet Explorer
    ... et avec name.

    Arf !

    Et du coup, l'élément perturbant dans les tentatives précédente était justement l'ajout de l'id

    Je sais pas si il faut remercier IE ou Flash sur ce coup-là, les 2 ayant leur part de tort

    A+

  17. #17
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313

  18. #18
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Je sais pas si il faut remercier IE ou Flash sur ce coup-là, les 2 ayant leur part de tort
    salut.
    d'après ce message

    Citation Envoyé par RomainVALERI Voir le message
    Selon les specs w3c, seuls les éléments de type select, input, textarea et anchor semblent reconnaître la méthode focus(). La prise en compte du focus par les éléments object dans IE est donc bien une spécificité IE et non un standard w3c...
    tu n'hésiteras plus et du coup tu peux remercier IE

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

Discussions similaires

  1. lien sur une animation flash
    Par UDSP50 dans le forum Flash
    Réponses: 1
    Dernier message: 07/05/2009, 19h26
  2. lien sur une animation flash
    Par bachboucha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/01/2009, 11h37
  3. je veux ajouter une zone texte sur une animation flash
    Par Abstract_cl dans le forum Flash
    Réponses: 1
    Dernier message: 17/04/2008, 11h26
  4. [XHTML] Lien sur une animation flash swf
    Par sab_etudianteBTS dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/02/2008, 07h56
  5. Réponses: 1
    Dernier message: 04/07/2007, 20h15

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