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

Bibliothèques & Frameworks Discussion :

[Ajax] Class mootools et chargement ajax


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 27
    Par défaut [Ajax] Class mootools et chargement ajax
    bonjour à tous

    Je suis entrain de créer un site avec de bien jolie effet et de l'AJAX ( sujet sensible...). J'aimerai pouvoir activer des scripts dans mes pages AJAX. Vous allez me dire: "oui y a qu'a ajouté evalScripts ou evalResponse et tu pourra exécuter tes scripts dans des balise onclick, onbidul ou onmachin" et vous avez raison, sauf que moi je veut plus (oué je sais, je suis chiant u_u)
    Bref j'ai envie d'exécuter des scripts entre des balises "SCRIPT" (paye ton originalité ) mais dans ces balise je voudrais jouer avec des input et mes liens. Pour sa j'ai 3 - 4 scripts que je veux utiliser:
    - SexyForm: pour modifier mes input (type: checkbox, radio) et select (pour le reste je suis assez grand pour le faire moi même ^^)
    - SexyLightBox: pour ouvrir des petites pages qui non pas besoin d'une grosse page pour charger (genre un formulaire )
    - SexyAlertbox: pas encore décider pourquoi mais je trouverais facilement
    - Mon script de chargement AJAX (ba ouép dans le cas d'une pagination ou d'une redirection vers une autre page sa peut être utilise )
    - Diverse autres scripts afin d'assister au mieux les gens tout en gardant des bien jolie effets

    A l'heure qu'il est, j'ai parcouru diverse page, bu un certain nombre de tasse de café, parcouru google de la cave au grenier pour essayer de comprendre comment c'était possible. (après tout facebook la fait pourquoi pas moi)
    J'ai trouver cette fonction:
    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
    function setInnerHTML(pDivObject, pHTML) 
    {
      // mise du contenu HTML dans pDivObject
      pDivObject.innerHTML=pHTML; 
      var All=pDivObject.getElementsByTagName("*");
      for (var i=0; i<All.length; i++) 
      {
        All[i].id=All[i].getAttribute("id");
        All[i].name=All[i].getAttribute("name");
        All[i].className=All[i].getAttribute("class");
      }
      var AllScripts=pDivObject.getElementsByTagName("script");
      // parcours du tableau à l'envers pour n'être pas perturbé par l'effet du removeChild 
      for (var i=AllScripts.length-1; i>=0; i--)
      {
        var s = AllScripts[i];
        var oScript = document.createElement("script");
        oScript.type='text/javascript';
     
        if (s.src && s.src!="") 
        {
          oScript.src = s.src;
        } else 
        {
          oScript.innerHTML = s.innerHTML;
        }
        // rajoute dans le body du document pere ce qui assure son execution
        // et la disponibilité des fonctions ainsi ajoutées
        // de plus, cela evite un appel Ajax dans le cas ou s.src est spécifié 
        document.body.appendChild(oScript);
     
        // retrait du script dans l'objet cible 
        // Attention : cela a un effet immédiat sur le contenu de la variable AllScripts (modifications indexes et contenus)
        // voila pourquoi le tableau des scripts est parcouru à l'envers
        pDivObject.removeChild(s);
      }
    }
    qui permet d'exécuter du script et style (merci a son auteur). J'en suis arrivé à l'exécution de ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
     
    	$$(".dosexy").each(function(el) {
    		el.DoSexy();
    		alert(el.get('name'));
    	  });
     
    </script>
    sa marche a moitier, le each se fait bien, "el" est bien récupéré car "el.get('name')" me retourne bien l'attribut "name" de ma balise input mais il ne se passe rien pour la fonction DoSexy, il n'y a aucune mise en forme de mes input . Ce qui est assez perturbant c'est qu'il trouve bien la fonction DoSexy car quand je remplace par Dosexy, il me dit "fonction inexistante" (il c'est firebug)

    Donc voilà, j'aimerai connaitre vos idées, hypothèse, question (?!) à ce sujet. je met à disposition des exemples concret et les scripts en question. Pour le moment je me suis surtout pré-occupé de sexyForm et des lien Ajax. Pour le reste je verrais par la suite

    Merci infiniment pour ceux qui vont se pencher sur mon problème et sa en aidera surement + d'un


    PS: Site tester seulement sous mozilla 3.6 pour le moment

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 27
    Par défaut
    arf vraiment personne peut m'aider. Personne n'aura jamais la solution ^^ Bref dans les cas, je passerai de temps à autre sur le forum pour voir une quelconque réponse. Moi je laisse tomber pour le moment ce qui est bien domage vu que j'ai ajouter HistoryManager qui gère plutôt bien les différente pages charger en AJAX est que j'aurai un équivalent de chaque page charger normalement aussi (pour google et les rare chieur qui ont le JS désactiver)

    Merci au 83personnes qui m'ont lu sans répondre

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 4
    Par défaut
    Salut @ toi gaet-gaet

    Je suis dans la même situation que toi depuis plusieurs mois...
    Et je cherche tjs la réponse, donc si tu as réussi à trouver quelque chose je suis preneur

    Merci d'avance

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 27
    Par défaut
    salut 1002zin, malheureusement non je n'ai toujours trouver de réponse.
    dans ma situation, les alerte fonctionne lors que l'on cherche les différent balise (dans mon cas: input checkbox) mais la fonction qui génère le skin de la box ne se charge pas. Or il veut bien ce charger si je fait appelle à elle directement dans l'input en question avec un event onclick.

    Bref c'est louche! j'ai regarder le code généré et il est plus que correct. Y a forcement un détail qui m'échappe mais je ne sais pas lequel

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 27
    Par défaut
    bonjour bonjour je remonte mon sujet et tiens a précisé que un chargement direct en AJAX n'est pas la meilleur solution! Néanmoins, en consultant la documentation mootools j'ai fait la découverte de ceci:

    IFrame Method: constructor

    Creates an IFrame HTML Element and extends its window and document with MooTools.
    Syntax:

    var myIFrame = new IFrame([el][, props]);

    Arguments:

    1. el - (mixed, optional) The id of the IFrame to be converted, or the actual IFrame element. If its not passed, a new IFrame will be created (default).
    2. props - (object, optional) The properties to be applied to the new IFrame. Same as Element:constructor props argument.

    Returns:

    * (element) A new IFrame HTML Element.

    Notes
    * If the IFrame is from the same domain as the "host" or running locally, its document and window will be extended with MooTools functionalities, allowing you to fully use MooTools within it.
    * If the IFrame already exists and has a different name than id, the name will be made the same as the id.
    * If the IFrame is from a different domain, its window and document will not be extended with MooTools methods.
    Si ma traduction est bonne, si le fichier ouvert dans le frame mootools est du même nom de domaine / serveur alors ont peut étendre les scripts de la page mère à l'iframe. Or je n'y arrive pas.
    Après des recherches, j'ai vu qu'il fallait utiliser le prefix "parent." quand on veux faire appelle à un script présent sur la page principal! Mais je comprend pas comment le mettre en place


    Quelqu'un pourrai m'expliquer le principe??

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Je ne pense pas que ça dise cela. Ca explique simplement que pouvez utiliser du Javascript sur cette page si elle est du même domaine. Maintenant, une iframe peut communiquer avec son parent. Tout dépend de ce que vous voulez faire mais ressemble à :


Discussions similaires

  1. [MooTools] Fonction send (ajax) traitement après chargement
    Par latour500 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 19/08/2013, 10h26
  2. [MooTools] divers problemes Ajax
    Par Assimil dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 20/08/2007, 10h23
  3. [AJAX] Soap Ajax classe javascript
    Par sekaijin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/06/2006, 08h50
  4. [POO] Ajax, class, MCV....
    Par jeff_! dans le forum Langage
    Réponses: 1
    Dernier message: 11/01/2006, 19h19

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