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 :

[AJAX] Ajax et <body onload="..">


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut [AJAX] Ajax et <body onload="..">
    Bonjour,

    J'ai un souci avec "AJAX" :

    J'ai une page chargée par XMLHttpRequest et j'aimerais exécuter, au chargement, le contenu javascript inscrit dans l'argument onLoad du tag Body du fichier chargé (J'espère que c'est assez clair). Je suppose qu'il faut passer par le DOM mais ça me parait compliqué.

    Merci d'avance

    Yo

  2. #2
    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
    je trouve bizarre de charger une page html complète via xhr!
    je demande à voir le code de la page qui effectue la requête...

    en tout cas, tu dois probablement refaire un appel à la fonction déclenchée sur le onload() après avoir rapatrié les données;

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ben c'est pas une page complète mais je me suis fais une fonction à laquelle je passe en arguments la source à charger par XmlHTTPRequest et la cible (le div ou on affichera le contenu) et ça m'arrangerait beaucoup de pas avoir un nouveau script pour chaque page donc celui que j'ai doit pouvoir s'adpter.

    Ici le souci c'est que mon bout de code qui se charge a besoin d'une fonction JS et pour simplifier je pensais mettre une balise BODY avec dans l'onload un appel à ma fonction mais je me suis aperçu qu'AJAX me bouffe tout ce qui est avant le début de la page (le HEAD et le BODY) donc souci...
    Y'a bien la solution de mettre en fin de ma page chargée une image avec un onLoad vers ma fonction mais je trouve ça plutot crade...


    Y'a pas un moyen plus propre que ça ?

    En tout cas merci pour ton intéret


    P.S. : si tu veux voir en pratique ce que ça donne j'ai un serveur d'évaluation sur mon pc : http://apache.dynalias.org.
    La page appelée c'est dans "Le site" / "Administration" / "Modifier les onglets".

  4. #4
    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
    c'est précisément ce que je voulais dire: comment peux-tyu espérer garder une vraie page html en chargeant un "body" par exemple???

    essaie ce que je te propose: tu as besoin d'appeler une fonction donc appelle-la vraiment, juste après la réponse de xhr;

  5. #5
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    document.body.onload(null)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ouais mais si je fais ça mon script sera plus valable pour tout le site et le but c'est de faire quelque chose de simple pour que des gens qui n'y connaissent rien puisse mettre à jour le site...

    Enfin bon si c'est vraiment trop compliqué j'vais garder la solution de l'image.

    Merci quand même

  7. #7
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    2 solutions

    1) Tu fais un IF dans ton onCompleted (si tu utilise Prototype) pour ta requête Ajax.

    2) Tu met un <script type="text/javascript">maFonction();</script> à la toute fin de la page à charger.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ben j'ai déjà essayé la 2ème solution et ça a pas marché, j'ai pas compris pourquoi (aucune erreur javascript il fait juste comme si l'appel à la fonction n'existait pas...) et pour la première comme j'essaie de faire mon code moi même, j'utilise pas prototype.
    Je vais essayer de réessayer pour l'appel à la fin du fichier chargé parce que ça me semble une peu bizarre ce truc.

    Merci

  9. #9
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    Tu charge ta page ou ?
    (Si tu me dis dans un iframe, je te cogne)

    Si tu met un alert('blablabla');, ca fonctionne cette fois-ci ?

    Tu as vraiment AUCUNE erreur (warning ou autre) ?

  10. #10
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Citation Envoyé par FMaz
    Tu charge ta page ou ?
    (Si tu me dis dans un iframe, je te cogne)

    Si tu met un alert('blablabla');, ca fonctionne cette fois-ci ?

    Tu as vraiment AUCUNE erreur (warning ou autre) ?
    Voir "Pourquoi mon script javascript ajouté dynamiquement ne fonctionne pas"

  11. #11
    Invité
    Invité(e)
    Par défaut
    Nan je charge ma page dans un div mais c'est pas une page à part entière c'est juste un bout de code à insérer (en fait c'est une liste - ul et li - mise en forme par un css et qu ime sert de menu).
    Et l'alert ne marche pas.
    Je vais aller voir le sujet que vous venez de me proposer pour ça.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Ben j'ai pas trouvé le sujet de Fremy...

  13. #13
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532

  14. #14
    Invité
    Invité(e)
    Par défaut
    Ok, merci, je pense pouvoir m'en sortir avec ça !

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

Discussions similaires

  1. body onload avec l'ajax
    Par kaking dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/10/2008, 16h19
  2. [Prototype] Ajax.Updater et window.onload
    Par fongus dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 22/08/2008, 21h28
  3. [AJAX] Ajax et les accents
    Par nico-pyright(c) dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/12/2005, 20h09
  4. [AJAX] Ajax et javascript contenu
    Par zekey dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/09/2005, 20h16
  5. [AJAX] AJAX et javascript
    Par spud5351 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/09/2005, 10h16

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