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 :

Attendre le chargement d'un object nouvellement rendu visible?


Sujet :

JavaScript

  1. #1
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut Attendre le chargement d'un object nouvellement rendu visible?
    Bonjour,
    Voici un code tout bête supposé me permettre de montrer le trailer d'un film lorsque l'image est cliquée :

    Le player (un swf trouvé sur le net) est dans un <div> caché qui est révélé au moment ou l'utilisateur clique sur la photo.
    A ce moment la fonction showPlayer(url) est appelée et le block div caché est rendu visible.

    Le problème c'est que le code juste après
    document.getElementById('playerDiv').style.display = 'block';

    ne fait pas son effet, au 2e clic cela fonctionne.
    Je suis à peut prêt sur que c'est parce que le SWF n'est pas chargé au moment ou ces fonctions sont appelées, elles ont donc pas d'effet.

    Est-ce qu'il y aurait une solution pour laisser le temps au swf de se charger et brancher une sorte de callback me permettant d'interagir dessus? Ou y'a-t-il une meilleure solution?

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title></title>
     
            <script language="javascript" type="text/javascript">
     
            function showPlayer( trailerUrl )
            {
                //make the player block visible
                document.getElementById('playerDiv').style.display  = 'block';
     
                //give the movie URL and start
                document.getElementById("playerObject").SetVariable("player:jsStop", "");
                document.getElementById('playerObject').SetVariable("player:jsUrl", trailerUrl );
                document.getElementById('playerObject').SetVariable("player:jsPlay", "");
            }
     
            </script>
        </head>
     
     
        <body>
            <div id="ads">
                <table>
                    <tr>
                        <td>
                            <a href="javascript:showPlayer( 'http://localhost:8085/MovieCounter/GetMovieUri?movieId=500' )" >
                                <img  src="Icons/195.jpg" alt=""  />
                            </a>
                        </td>
     
                        <td>
                            <p>Click on the image to play the trailer</p>
                        </td>
                    </tr>
                </table>
            </div>
     
            <!-- player div -->
            <div  id="playerDiv" style="display:none; height: 0px;  margin : 10px 0 0 0" >
     
                <object id="playerObject" type="application/x-shockwave-flash" data="player_flv_maxi.swf" width="400"  height="300" >
                    <param name="movie" value="player_flv_maxi.swf" />
                    <param name="FlashVars" value="showstop=1&showvolume=1&showtime=1&title=Preview&showplayer=always;width=400&amp;height=300" />
     
                </object>
            </div>
     
        </body>
    </html>

  2. #2
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut
    Salut,

    juste une petite questionpour pouvoir mieux t'orienter : c'est pour charger du swf ou du flv ?

    En tout cas en javascript ce n'est pas possible de faire preload efficace !

  3. #3
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Mon but n'est pas le pré-buffer du flv. Je voudrai juste pouvoir afficher un player à l'aide de javascript et lui filer à manger un flv en fonction de ce qui a été cliqué.

    Genre on clique ça dé-collapse une zone avec un player et le film qui se joue automatiquement. C'est tout le point de ma fonction javascript.

    En fait je trouve des solutions mais aucune marche sous IE.

  4. #4
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    J'ai fini par mettre mon swf dans une autre page html que j'affiche dans un iframe duquel j'affecte l'attribut src par javascript, lui passant en paramètre l'URL du fichier.

    Pas beaucoup moins élégant, et surtout bien moins prise de chou.

Discussions similaires

  1. attendre le chargement d'une iframe avant submit
    Par pitoumad dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/07/2010, 09h38
  2. Attendre le chargement complet d'une iFrame
    Par ToxiK dans le forum jQuery
    Réponses: 8
    Dernier message: 13/01/2010, 22h23
  3. chargement de fonction, onload ? attendre le chargement complet
    Par italiasky dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 11/12/2008, 19h32
  4. Réponses: 1
    Dernier message: 16/11/2007, 17h01
  5. [ole] attendre le chargement complet du composant
    Par dvarrel dans le forum Delphi
    Réponses: 5
    Dernier message: 09/01/2007, 19h26

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