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] synchroniser plusieurs frames


Sujet :

JavaScript

  1. #1
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut [POO] synchroniser plusieurs frames
    Bonjour,

    J'ai besoin de votre aide pour résoudre le problème suivant :
    J'ai un site web avec une page qui utilise un frameset. Ce frameset est divisé en 5 frames. Lorsqu'une page se charge, il faut savoir que les pages d'un frameset se chargent indépendamment des autres, en parallèle. C'est sur ce point que se pose mon problème.
    Prenons deux des frames affichées, la première se nomme "infos" et la seconde "content".

    Lorsque la frame "content" est chargée, j'ai un bout de code javascript qui permet de donner le focus à un élément se trouvant dans n'importe quelle frame, pas nécéssaire dans la frame "content". Dans le cas où l'élément se trouve dans la frame "infos", le focus est donné à cet élément, or comme le chargement de chaque frame est indépendant, il arrive que la frame "infos" soit plus lourde à charger que la frame "content". Dans un tel cas, l'élément n'est pas trouvé puisque non chargé encore, et une erreur javascript intervient, de type :

    "élément non existant ou invisible ne peut prendre le focus...etc."

    Ma question est donc la suivante : existe-t-il un moyen en javascript de savoir si une frame a fini d'être chargée ou non ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    dans le onload de chaque page framée tu peux par exemple modifier un flag boolean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="this.loaded=true">
    et ensuite tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.frames['nomframe'].document.loaded
    pas testé mais l'idée est là

  3. #3
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Bonjour,

    Merci pour ta réponse, effectivement c'est la solution "de secours" que j'ai mis en place entre temps, et ça fonctionne bien.

    Voici ma fonction javascript qui n'exécute pas le code qui suit l'appel de cette fonction temps que le booléen n'a pas été mis à TRUE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function checkPageLoaded (  ){
    	if ( frameLoaded == true )
    		return;
    	setTimeout("checkPageLoaded()",1000);
    }
     
    // --- Ex d'appel de la fonction 
    parent.frames["infos"].checkPageLoaded();
    Cette fonction est bien sur appelée depuis l'objet frame correspondant de manière à ce que la variable "frameLoaded" utilisée dans la fonction soit bien celle de la frame à tester (et dans laquelle se trouve l'objet qui doit prendre le focus)

    Le problème est donc résolu, juste un peu déçu qu'il n'existe pas de propriété informant du status "loaded" pour un objet de type window.

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

Discussions similaires

  1. Afficher plusieurs Frame dans l'ordre!
    Par Lock622 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/03/2007, 08h14
  2. Réponses: 3
    Dernier message: 26/09/2006, 10h57
  3. une image de fond et plusieures frames ...
    Par JamesP dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/03/2006, 23h48
  4. [VB]Rajout d'une ou plusieurs frame dans une frame
    Par ept35 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 15/02/2006, 11h41
  5. [HTML] Changement de plusieurs frames
    Par Bowen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/09/2005, 19h33

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