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 :

Remplacer le code html d'une page


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 24
    Par défaut Remplacer le code html d'une page
    Bonjour à tous,

    J'ai un petit problème de Javascript, je vous explique
    je travaille avec Google Gears en ce moment (pour ceux qui connaissent pas http://gears.google.com/ )

    Et j'aimerais effectuer l'opération suivante:
    Je récupère le code html complet d'une page avec xmlHttprequest
    Je stocke le code html reçu dans une base de données (embarquée sur le poste client mais ca n'a pas d'importance)
    Ensuite j'aimerais à partir d'une fction javascript (déclenchée au click d'un bouton) aller chercher le code html que j'ai stocké dans la BDD (jusque la pas de souci) et remplacer le code de la page (actuelle) par le code que je viens de récupèrer dans la BDD.

    Tout cela fonctionne, et je remplace le code d ema page grace a la méthode suivante:

    document.body.innerHTML = leCodeHTMLVenantDeLaBD;

    Le problème final est que dans cette page de nombreux scripts javascript sont utilisés, mais lorsque je remplace le code html (avec innerhtml) les scripts ne sont pas ... "chargés" ou "exécutés" donc inacessibles.

    Si vous connaissez un moyen d'effectuer cette opération jesuis preneur.
    J'ai essayé de récupérer le code JS avec Xmlhttpreq et de le charger avec document.eval(...) mais cela ne fonctionne pas.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Par défaut
    En d'autre terme, dans leCodeHTMLVenantDeLaBD, il y aurait '[...]<body onload="executerLesScriptsNécssaires()">[...]' et tu voudrais déclencher l'événement load de body par exemple en faisant "document.body.load();"?
    Si c'est le cas, malheureusement, je ne sais pas comment faire. Mais peut être cela peut donner des idées à d'autres.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 24
    Par défaut
    dans leCodeHTMLVenantDeLaBD il y a une page html complète
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <html>
      <head>
        <script type="text/javascript" src="toto.js"></script>
      </head>
      <body>
        un corps html
      </body>
    </html>
    le code de cette page est donc dans la BD, et quand je mets tout ce code dans document.body.innerHTML.
    J'aimerais pourvoir charger le script toto.js car il n'est apparement pas chargé.

    En esperant que quelqu'un ait deja rencontré ce probleme...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Par défaut
    A mon humble avis, tu n'y arriveras pas. Il n'est, selon moi, pas possible de charger un fichier sur le poste d'un client via javascript sans lui demander son autorisation.
    Il n'est possible de le faire seulement que quand le client demande le chargement de la page.
    Ne peux-tu pas mettre le contenu de toto.js dans le header du html contenu dans la db ?
    Ou de mettre quelques lignes dans ton script côté serveur (php, Asp, jsp... Celui que tu utilises) qui charge dans le header de leCodeHTMLVenantDeLaBD le contenu du fichier toto.js pour ne pas avoir à le garder dans la DB.

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    déja si la page appelée comporte des balises html et head c'est compromis et tu t'exposes à des comportements erratiques selon les navigateurs ...

    en effet tu auras à la fin un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html>
    <head>
    <head>
    <body>
         <html>
         <head>
         </head>
         <body>
         </body>
         <html>
    </body>
    </html>
    Le but c'est uniquement d'ajouter des scripts ?
    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 !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 24
    Par défaut
    je comprends que cela ne paraisse pas très clair.
    Au niveau du comportement des <html> imbriqués je n'y avais pas pensé mais c'est vrai que cela risque de se passer comme ca.

    Le but final c'est permettre le stockage de code html dans une base de données embarquée (aucun souci) et d'afficher le code html stocké selon la demande du client.

    Imaginez vous etes sur une page web: La page A
    Des hyperlinks lient la page A aux pages B et C. Le code Html des pages B et C et stocké sous forme de fichier .html sur le serveur web (jusque la schéma classique). Le projet que je dév s'occupe d'aller récupérer le code html contenu dans les pages B et C (pas très difficile jusque la) et le stocke dans la abse de données embarquée mentionnée plus haut.
    La ca se corse un peu, imaginez que le réseau saute, plus de connexion
    Et la les hyperlinks liant la page A aux pages B et C devraient permettre non plus d'accéder aux pages B et C stockées sur le serveur web mais devraient pouvoir remplacer le code html actuel (page A) par le code de la page désirée (B ou C) sachant que ce code est stocké dans la base.

    L'unique problème que j'ai est le remplacement du code de la page actuelle par le code stocké dans la BD tout en conservant les javascripts qui sont nécessaires à l'exécution des pages B et C.

    J'espère ne pas vous avoir trop embrouillé
    Ouach, a mon avis c'est possible, et je ne peux pas bosser côté serveur pour la bonne raison qu'au moment ou je veux effectuer ce remplacement, il est sous entendu que le réseau n'est plus accessible.

    Merci d'avance si vous avez une solution!

Discussions similaires

  1. [HTML] Comment faire apparaitre du code HTML dans une page ?
    Par straitch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 23/10/2007, 16h45
  2. Réponses: 9
    Dernier message: 23/10/2007, 11h12
  3. recupérer le code Html d'une page Web
    Par comtention dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/09/2007, 21h03
  4. Récupération du code HTML d'une page Web
    Par jgavard dans le forum Eclipse Java
    Réponses: 19
    Dernier message: 06/11/2006, 16h54
  5. Récupérer le code HTML d'une page avec Delphi 7
    Par PsyKroPack dans le forum Web & réseau
    Réponses: 5
    Dernier message: 06/02/2003, 21h56

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