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 :

Lister des element HTML à partir d'une autre frame


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut Lister des element HTML à partir d'une autre frame
    Bonjour,

    J'ai trouvé sur le net une fonction bien sympathique qui permet de lister tous les element d'une page selon certains critères.

    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
    function getElementByAttribute(aAttribute,aValue,aInElement)
    {
      var ElementVerifier;
      var Elements=new Array();
      function SearchElement(aElement)
    	{ 
    	  if(aElement==null||aElement==undefined)return
    	  if(ElementVerifier(aElement))
    		{
    		  Elements[Elements.length]=aElement;
    		}
    		SearchElement(aElement.firstChild);
    		SearchElement(aElement.nextSibling);
    	}
     
    	if(aInElement==undefined)aInElement=document.body;
     
    	str="if(Element."+aAttribute+"=='"+aValue+"'){return true;}else{return false}";
    	ElementVerifier=function(aElement)
    	{
    	  Element=aElement;
    		if(aElement.nodeName=='#text')return false;
    		var E=new Function(str);
    		if(E()){return true;}else{return false};
    	}
    	SearchElement(aInElement);
    	return Elements;
    }
    Je m'en serre pour lister les elements qui ont une class (css) précise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementByAttribute( 'className', NomDeMaClasse);
    Elle fonctionne parfaitement bien mais j'aimerais pouvoir l'éxécuter à partir d'une page pour qu'elle liste les éléments d'une autre frame.

    D'après ce que je comprend de cette fonction, elle devrait etre capable de le faire en l'appelant de la façon suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementByAttribute( 'className', NomDeMaClasse, 'top.leftFrame.document.body');
    Mais celà ne fonctionne pas
    Qu'est ce que je fais de travers ? Est-ce seulement possible ?

  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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    tu passe l'objet à scanner en string au lien de passer l'objet ?
    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
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 76
    Points : 76
    Points
    76
    Par défaut
    à mon avis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementByAttribute( 'className', NomDeMaClasse, top.leftFrame.document.body);

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut Et si
    et si tu donnais un nom à ta frame ?

    ca te permetrait d'utilier
    window.frames["nomdemaframe"]
    pour récupérer ta frame, c'est peut-être plus facile que top.leftFrame, qui me parait un peu "bizarre"
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    manque aussi peu être un parent ?
    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 !

  6. #6
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Points : 126
    Points
    126
    Par défaut
    - J'ai essayer l'objet à scanner en string et en direct -> rien
    - Qu'est ce qui parait bizarre dans la syntaxe top.leftFrame ?
    - comment utiliser "parent" ?

  7. #7
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut ce que j'ai voulu dire
    j'ai voulu dire que top ne s'emploie sans doute pas seul, il lui faut surement une origine (document, window, ...)
    Deplus, pour obtenir une (i)frame, rien de tel que window.frames["framename"], conforme aux normes de base de JS
    Fremy
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

Discussions similaires

  1. recupere des données a partir d-une autre fenetre
    Par b2o92ikho dans le forum Forms
    Réponses: 1
    Dernier message: 09/04/2009, 16h30
  2. appeler des composants à partir d'une autre frame
    Par lex13 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 08/07/2007, 21h00
  3. Recuperer les max des dates à partir d'une autre table
    Par inabil dans le forum Langage SQL
    Réponses: 8
    Dernier message: 20/11/2006, 15h19
  4. Réponses: 3
    Dernier message: 19/06/2006, 10h26

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