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 :

document.body.clientWidth


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 29
    Points
    29
    Par défaut document.body.clientWidth
    Bonjour à tous,

    J'ai dans ma page xhtml un .swf, intégré grâce au code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div>
    <object class="flash" id="un" type="application/x-shockwave-flash" data="flash.swf" width="10" height="10" allowscriptaccess="always">
        <param name="movie" value="flash.swf" allowscriptaccess="always"/>
    </object>
    </div>
    Je souhaite qu'à l'ouverture de la page, le .swf soit redimentionné à la taille du body de la page, afin qu'il s'ouvre en pleine page.

    J'arrive à récupérer la largeur de la page sous IE grâce à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var largeur = document.body.clientWidth;
    Seulement, quand je veux attribuer la valeur de la variable largeur au .swf en utilisant ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("un").style.width = largeur;
    Cela ne fonctionne pas . Le .swf garde ses dimensions d'origine (10x10). Je n'ai pas de message d'erreur.

    Par contre, si j'attribue une valeur à largeur, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var largeur = 200;
    Là, ça marche.

    Pourriez-vous m'aider ?

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut
    Quand tu dis : "la largeur de mon body" tu parles de la largeur de la page tout simplement ?

    id="un" c'est quelle balise ?

    A mon avis tu fais référence à une balise de type "en ligne" et non "en block" (voir CSS).

    2 solutions :

    - tu passes par un <div id="conteneur"> et tu met toute ta page dedans.
    Dans ta css tu mets : #conteneur{display:block; width=XX}

    - tu passes par un swfObject

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Merci pour ta rapide réponse.

    Il s'agit bien de la largeur de la page en effet ; veuillez m'excuser pour mon vocabulaire approximatif, je m'y connais peu.

    Si j'utilise ta première solution, comment puis-je faire pour récupérer la largeur de la page dans le code CSS ? Je peux mélanger code javascript et CSS ?

    Je ne connait pas swfObject, je vais regarder ce que c'est.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut
    Pour SWFObject, c'est simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <div  id="conteneur">
         ...
         ton code html
        ...
    </div>
     
    <script type="text/javascript">
    	  	var so = new SWFObject("chemin_fichier_flash.swf", "UnNom", "Largeur", "hauteur", "9", "#000000");
    		so.addParam("scale", "noscale");
    		so.addParam("loop", "false");
    		 so.write("conteneur");
    	   </script>
    Là en gros ton javascript va remplacer la balise conteneur par ta balise object. La Largeur de ta page, c'est toi qui la fixe donc tu la connais ! Je comprends pas ton soucis

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    En fait non, justement je ne la connais pas, car je voudrais que la taille de mon .swf soit la même la taille de la page du visiteur

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut
    si l'id de ta balise est "un" alors essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var largeurPage= document.getElementById("un").style.width

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Merci. Je vais essayer

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

Discussions similaires

  1. Bloquage de document.body.onunload
    Par farlemars dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 11/07/2008, 09h58
  2. document.body.clientHeight ne fonctionne pas sous IE
    Par TheRedLed dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/02/2007, 15h39
  3. [IE] Problème avec document.body.setAttribute
    Par stailer dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/05/2006, 16h07
  4. DOCTYPE et document.body.scrollTop....
    Par lacsap49 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/03/2006, 08h27
  5. document.body.style.cursor ?
    Par Yaz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2006, 17h41

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