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

JSF Java Discussion :

richfaces+facelets : body onload


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut richfaces+facelets : body onload
    Bonjour,
    En préambule, je précise que je ne peux pas fairede copier-coller de mon code (réseaux dev/internet séparés, enfin la galère quoi).
    Toutes les pages ayant la même struture (entete, menu, contenu), j'utilise facelets.
    Bon voilà, j'ai un template.xhtml du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html xmlns...>
    <head>
    ...
    <title><ui:insert name="title">undefined</ui:insert></title>
    </head>
    <body>
    <f:view>
    <ui:insert name="content"></ui:insert>
    </f:view>
    </body>
    </html
    et j'ai des pages disons page.xhtml du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ui:composition template="/template.xhtml">
    <ui:define name="content">
    mon contenu
    </ui:define>
    </ui:composition>
    Pour une des pages, j'ai besoin d'appeler une fonction javascript à moi.
    Dans une page classique, je ferais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="mafunction()">...
    où ma function est écrite dans un fichier javascript inclus précédemment dans les balises head.
    Mais là, je ne sais pas comment faire.

    Faut-il que je sorte <body><f:view>...</body></f:view> du template , et donc le re-écrire à chaque page et ainsi pouvoir utiliser la méthode classique du <body onload="mafunction()"> ?

    J'ai regardé du côté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <rich:jQuery selector="body" timing="onload" query="mafunction()">
    , mais j'ai l'impression que ça ne me permet pas d'appeler mafunction car ce n'est pas une fonction de jquery core.

    Une idée svp ?

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je ne vois pas trop où est ton problème... j'ai peut-être mal compris...
    Rien ne t'empêche de coder un truc dans ce genre dans le template
    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
     
    <html>
    <head>
    <script>
    function pageLoaded()
    {
       try { topLoaded();} catch (e) {}
       try { leftLoaded();} catch (e) {}
       try { bodyLoaded();} catch (e) {}
    }
    </script>
    </head>
    <body onload="pageLoaded()">
    </body>
    </html>
    et dans tes pages, tu n'as plus qu'à mettre (ou non) la méthode qui correspond à la cible
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut
    Bon ben merci.
    Ca fonctionne, comme quoi tu as bien vu ce que je voulais.
    Mon problème étant mon manque d'expéreince en javascript, je n'ai pas pensé à exploiter try/catch.

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

Discussions similaires

  1. body onload et back ..
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/01/2007, 16h27
  2. appel fonction après <body =onload>
    Par taffMan dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 27/11/2006, 21h23
  3. Fonction body onload
    Par foufoutom dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/09/2006, 20h47
  4. body onload " .focus"
    Par vincedjs dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/02/2006, 10h21

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