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 :

Appel d'un fichier js externe à l'intérieur d'une fonction javascript


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Appel d'un fichier js externe à l'intérieur d'une fonction javascript
    Bonjour,

    Je débute en javascript et je souhaite savoir si il est possible d'appeler un fichier js externe dans une fonction js ?

    Voici mon code exemple:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /* test.html */
     
    <script type="text/javascript">
    myfunction()
    {
         alert("hello javascript's world !")
         // appel au fichier externe "http://mondomaine/monfichierexterne.js"
    }
    </script>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /* Appel de la fonction dans mon controller (j'utilise ZK framework 5) */
    Clients.evalJavaScript("myfunction()");
    Merci pour vos réponses,

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    il va te falloir insérer dynamiquement une balise script sur la page. sujte déja traité sur le forum ...

    Sinon avec jquery et son ajax getScript() ...

    [edit]
    Sauf que je viens de dire une ânerie ...
    A priori getScript ne passe pas par xmlhttprequest

    http://www.developpez.net/forums/d11...con-synchrone/

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 141
    Points
    11 141
    Par défaut
    bonsoir,

    je ne comprends pas bien le but de la manoeuvre. Pourquoi ne pas appeler une fonction de ce fichier javascript ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script type="text/javascript" src="fichierExterne.js"></script> 
     
    <script type="text/javascript">
    myfunction()
    {
         alert("hello javascript's world !");
     
         blabla(); // fonction contenue dans fichierExterne.js
    }
    </script>

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci pour vos réponses, en fait le fichier externe js ne m'appartient pas, il est hébergé chez un fournisseur et il est mit à jour régulièrement.
    Pour l'instant je n'ai pas réussi à encapsuler proprement le fichier js dans une fonction afin de pouvoir l'appeler.
    Je n'ai pas trouvé d'autre solution que de télécharger dynamiquement le code du fichier externe avec une requète http et ensuite exécuter le code avec Clients.evalJavaScript("code_téléchargé");.
    Si quelqu'un a solution plus "propre" alors je suis preneur.

    Merci,

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ben je viens de te donner deux solutions propres ...

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    en fait le fichier externe js ne m'appartient pas, il est hébergé chez un fournisseur
    Ben ça ne t'empêche pas de le récupérer dans une balise script>

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    @SpaceFrog : merci pour les solutions, je vais essayer d'insérer dynamiquement une balise script avec jquery.
    @Bovino : si la solution de SpaceFrog me permet d'insérer une balise script alors oui je vais récupérer le code dans une balise script.

    J'utilise le Framework ZK et en utilisant le composant Script (http://books.zkoss.org/wiki/ZK_Compo...ponents/Script) la balise script n'est pas interpreté ! je vais donc investiguer du coté de jquery sur les conseils de SpaceFrog !

    Merci pour votre aide ! ce forum est très réactif !

  8. #8
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.createElement('script')
    ne te conviendrait pas ?

  9. #9
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Citation Envoyé par courty Voir le message
    J'utilise le Framework ZK
    Tu as posé ta question sur le forum de ZK ? Peut-être que le framework te fournit un meilleur moyen de faire ce que tu veux faire.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    oui, j'ai déjà soulevé le problème sur le forum zk mais il est loin d'être aussi réactif que celui-ci !

  11. #11
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    oublie la méthode getScript de jQuery, c'est un appel ajax donc non cross-domain. (edit apparemment ça fonctionne pour le cross-domain depuis la version 1.2 de jquery)



    je ne connais pas ZK mais que se passe t'il quand tu essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script src="ton_lien_externe"></script>
    <script>
        function_externe();
    </script>

Discussions similaires

  1. Exécuter une fonction java à l'intérieur d'une fonction javascript
    Par nakry dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 18/04/2014, 11h31
  2. Réponses: 3
    Dernier message: 30/11/2010, 10h27
  3. Appel d'un fichier .css externe
    Par rglot dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/12/2008, 19h37
  4. [AJAX] Appel d'un fichier php contenant une fonction javascript.
    Par Empty_body dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/08/2007, 21h16
  5. Réponses: 1
    Dernier message: 11/03/2007, 14h56

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