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 :

Un include en javascript


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par défaut Un include en javascript
    Bonsoir,

    Est il possible de faire la même fonction que l'include du php ? Je m'explique je voudrais pouvoir incrusté dans une pagehtml d'autres page html en cliquant sur un lien, (une seule page principal et les autres viennent s'afficher dedans, un peu comme les frames) mais je n'arrive pas trouvé de solution en javascrit.

    Pourtant ce genre de fonctionnabilité existe sur certain site.

    Auriez-vous des pistes pour m'aider ou une solution ?

    Merci d'avance

  2. #2
    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
    Billets dans le blog
    20
    Par défaut
    Regarde du coté d'AJAX
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par défaut
    Bonjour,


    Merci pour l'info mais je ne connais pas du tout AJAX... et je cherche une solution simple à mettre en oeuvre.

    Cordialement

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut

    Pourtant ce genre de fonctionnabilité existe sur certain site.

    Auriez-vous des pistes pour m'aider ou une solution ?
    C'est que ces sites utilises AJAX.
    Si tu ne veux pas utiliser AJAX, abondonnes vite pour ne pas perdre ton temps à chercher, .

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par azorol Voir le message
    je cherche une solution simple à mettre en oeuvre.


    Ajax !

    Sinon, tu peux inclure dans ta page toutes les autres pages qui pourraient éventuellement être incluses, mais en les masquant au chargement et en les affichant lors du clic de l'utilisateur

    Sinon, y a les frames, puisque tu en parles ....

    Ici les 2 solutions simples sont les moins bonnes

    A+

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    attention aussi aux abus de langage(s ?)

    dans une pagehtml d'autres page html
    tu ne pourras jamais afficher qu'un fragment de html dans ta page principale, histoire de conserver une structure cohérente;
    si c'est bien toi qui gères les contenus à inclure, tu dois pouvoir trouver un moyen rationnel d'appeler l'élément voulu selon le lien activé;

    j'imagine aussi que tes contenus sont "dynamiques" (news, swen, que sais-je)?

  7. #7
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    avec une balise object ou un iframe ?
    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 !

  8. #8
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Peut être une piste pour toi :

    Pour insérer une page HTML dans une autre avec javascript, regarde du côté des HttpRequest. Cela te permet de récupérer ta page html en objet, et après de l'afficher dans une div si tu ne veux pas des iframe.

    Je pense que cela est possible. J'utilise cette méthode pour afficher une page XML dans une div. Mais j'avoue avoir un peu de mal à cause des problèmes compatibilité entre ie et ff par exemple.

  9. #9
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    regarde du côté des HttpRequest
    aka ajax ...


    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 !

  10. #10
    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
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par AcidLines Voir le message
    Pour insérer une page HTML dans une autre avec javascript, regarde du côté des HttpRequest. Cela te permet de récupérer ta page html en objet, et après de l'afficher dans une div si tu ne veux pas des iframe.
    Très différent de l'utilisation d'AJAX en effet

    Et non, tu ne dois pas insérer une page HTML complète.

    Citation Envoyé par javatwister Voir le message
    tu ne pourras jamais afficher qu'un fragment de html dans ta page principale, histoire de conserver une structure cohérente;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Citation Envoyé par azorol
    mais je n'arrive pas trouvé de solution en javascrit.
    Citation Envoyé par bovino
    Très différent de l'utilisation d'AJAX en effet
    Javascript...AJAX...

    Si il ne veut pas ou ne peut pas pour le PhP, et ne veut pas utiliser d' iframe..

  12. #12
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    J'ai réalisé quelques recherches et voici le code que j'ai trouvé :

    Pour la fonction javascript :
    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
     
     function envoieRequete(url,id)
     {
     var xhr_object = null;
     var position = id;
     if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
     else
     if (window.ActiveXObject) xhr_object = new ctiveXObject("Microsoft.XMLHTTP");
     
     // On ouvre la requete vers la page désirée
     xhr_object.open("GET", url, true);
     xhr_object.onreadystatechange = function(){
     if ( xhr_object.readyState == 4 )
     {
     // j'affiche dans la DIV spécifiées le contenu retourné par le fichier
     document.getElementById(position).innerHTML = xhr_object.responseText;
     }
     }
     // dans le cas du get
     xhr_object.send(null);
     
     }
    Au niveau de ta page html principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     <div id="conteneur">
     <div id="header">
     </div>
     
     <div id="gauche">
     <a href="#" onclick="envoieRequete('bande.html','header');" >test</a>
     <a href="#" onclick="envoieRequete('menu.html','centre');" >test2</a>
     </div>
     
     <div id="centre">
     </div>
     </div>
    L'inconvénient : le retour est en texte, donc pas terrible. Mais tu peux créer une fonction qui remplacerai le "responseText" qui est natif par une fonction que tu aura crée ex:"responseHTML" qui n'existe pas nativement.

  13. #13
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ne pas hésiter à évaluer responseText pour générer des expressions JS complexes à volonté, pouvant donc agir sur le DOM directement, sans innerHTML;

    mais côté .js, c'est une habitude à prendre, notamment pour l'utilisation de séquences echo:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'monconteneur_parent.appendChild(moncontenu_enfant);';

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par défaut
    Bonjour,

    Merci à tout le mondes pour vos conseils avisés et éclairés, en faite se que je voulais faire était une simple iFrame

    Ou les paramètres venait d'une BD (page1.htm,page2.htm, etc...)

    Voila mon problème est résolu.

    Encore merci.

    A bientôt

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

Discussions similaires

  1. Équivalent "Include" en JAVASCRIPT
    Par sim0m0 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 16/10/2015, 13h02
  2. Problème include() entre javascript et php
    Par Isabella dans le forum Langage
    Réponses: 10
    Dernier message: 01/02/2010, 12h25
  3. include en javascript
    Par pecos38 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/05/2008, 20h45
  4. Réponses: 7
    Dernier message: 23/04/2006, 23h07
  5. [PHP-JS] include php en javascript
    Par jeanmed dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/03/2006, 09h12

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