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

Symfony PHP Discussion :

Comment placer un fichier javascript a la fin du Body? [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut Comment placer un fichier javascript a la fin du Body?
    J'ai un fichier javascript qui utilise tout les autres fichiers .js et devrait attendre que le document DOM soit completement charge.

    Ceci dit j'aimerais appele juste un seul document js a la fin du Body... j'ai fais des recherches sur google et sur stackoverflow sans jamais trouver de solutions adequates.

    Merci!

  2. #2
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    oops pas vu que c'etait pour Symphony ne pas tenir compte.
    je connais rien à ce produit.

    en HTML je ferait (au cas où):

    fichier1.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write("fichier1<br/>");
    fichier2.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write("fichier2<br/>");
    fichier3.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    document.write("fichier3start<br/>");
    document.write("<script src=\"fichier1.js\"></script>");
    document.write("<script src=\"fichier2.js\"></script>");
    document.write("fichier3end<br/>");
    fichiertest.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html>
    <head>
    <title>test js après body</title>
    </head>
    <body>
    test<br/>
    </body>
    <script src="fichier3.js"></script>
    </html>
    resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    test
    fichier3start
    fichier1
    fichier2
    fichier3end

  3. #3
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Dans c'est grâce au filters. voici un exemple :
    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
    abstract class TrackingFilter extends sfFilter
    {
       * @see sfFilter
      public function execute($filterChain)
      {
        /*
         * yield the filter chain execution;
         * we want this filter to execute after the view
         * has been rendered so we can manipulate the response
         */
        $filterChain->execute();
     
        $response = $this->getContext()->getResponse();
     
        /* Insert the tracking code at the bottom of the page */
        $response->setContent(str_ireplace('</body>',
          $this->getTrackingCode().'</body>',
          $response->getContent())
        );
     
      }
     
       * Computes the tracking code
      abstract public function getTrackingCode();
    }
    Ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class GoogleAnalyticsTrackingFilter extends gmTrackingFilter
    {
     
       * @see gmTrackingFilter
      public function getTrackingCode()
      {
        $this->context->getConfiguration()->loadHelpers(array('Tag', 'JavascriptBase'));
     
        $js = "mon js";
     
        return javascript_tag($js);
      }
    }
    le fichier filters.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    google_analytics_tracking:
      class: GoogleAnalyticsTrackingFilter

  4. #4
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut
    Okay Kenny!! j'essaye ton exemple bien que ton exemple est tres specifique au google tracker... ca aurais ete mieux un exemple global... Mais good job j'espere que ca marcheras dans mon cas.

  5. #5
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    La c'est un exemple que j'ai mis en place sur l'un de mes sites.
    Mais comme l'exemple le montre c'est une classe abstraite ce qui fait que la la googleTraker tu la change comme tu veux. ça fonctionne avec tout.

    Je l'utilise sur d'autre site pour autre chose que du traking.

  6. #6
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut
    Merci a vous deux Kenny et patrick... ca m'a beaucoup aide!

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

Discussions similaires

  1. Comment placer un fichier à la racine d'un WAS?
    Par Prjprj dans le forum Websphere
    Réponses: 2
    Dernier message: 03/03/2011, 16h20
  2. Réponses: 0
    Dernier message: 10/02/2010, 14h24
  3. Réponses: 23
    Dernier message: 25/05/2007, 16h36
  4. [PHP-JS] comment recupérer des variables javascript dans un fichier php
    Par domino_dj dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/02/2007, 11h46
  5. Réponses: 2
    Dernier message: 16/05/2006, 09h06

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