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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    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à
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    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