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 :

Wait for load et return value


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut Wait for load et return value
    Bonjour,

    Désolé, je ne suis pas une débutante en javascript et j'ai besoin d'intégrer une petite fonction dans mon programme.
    Pour faire simple, je souhaiterai :
    - Faire un refresh de la page
    - Attendre que la page soit complètement chargée
    - retourner le code source

    J'ai tenté ce petit code, mais le return ne fonctionne pas : rien n'est retourné
    Avez-vous une idée ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    		function ma_function() {
    			document.location.reload();
    			//document.addEventListener('DOMContentLoaded', function () {
    			document.onreadystatechange = function () {
    				return document.documentElement.outerHTML;
    			});
    		};
    		ma_function()
    Merci beaucoup pour votre aide

    Thais

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    tu n'as pas besoin de recharger la page, tu as juste a faire ton document.documentElement.outerHTML;.

    par contre, est-ce que tu le lances "a la main" ou est-ce integre a ta page ?
    => tu risque de ne pas declancher le onreadystatechange si tu le lances trop tard
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Bonjour Doksuri,

    Merci pour ton aide.
    En fait le reload est juste pour faire le test, ca aurait pu etre le chargement d'une autre page, le click sur un lien et ensuite attendre le chargement complet de la page pour faire le document.documentElement.outerHTML ;-)

    Pour répondre à ta question je lance depuis l'exterieur le petit programme.

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    ok, si tu le lances manuellement, je te conseilles de faire ca pour tes tests: un click, plutot qu'un reload
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ma_function() {
    return document.documentElement.outerHTML;
    }
    document.body.addEventListener('click', ma_function, {once:true});
    => quand tu cliques sur la page (n'importe ou), ca retourne le code source (a toi d'en faire quelque chose...)
    ==> l'option {once:true} ne lancera qu'une fois le code (si tu le veux a chaque clique, supprime l'option)

    le probleme avec ton refresh, c'est que du coup, tu perds l'execution du code (vu que la page se recharge)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Ok, je vais regarder ca, merci.

    Dernière petite question pour faire quelques tests,
    Si à la place de faire un reload, l'algo serait :

    - load www.google.fr
    - wait page load
    - get source code

    Ca donnerai quoi en javascript ?

  6. #6
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    tu ne peux pas loader une page (comme tu le penses) et executer du JS en retour... le code (post reload) que tu aurai ajoute serai perdu
    sinon, tu peux faire un fetch et recuperer le code source retourne, mais tu risques de te heurter aux corss-domain
    si par exemple, tu es deja sur la page de google, tu peux faire ca
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    fetch('https://www.google.com/')
        .then(res => res.text())
        .then(data => {
            console.log(data);
        });
    attention cependant : le code source est different du code genere (qui permet d'afficher ce que tu vois dans la page)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. [oracle 10g: dbshut] Waiting for smon to disable tx recovery
    Par jean-jacques varvenne dans le forum Oracle
    Réponses: 3
    Dernier message: 05/05/2009, 18h46
  2. [Workflow] Wait for field to equal value
    Par romainw dans le forum SharePoint
    Réponses: 2
    Dernier message: 22/04/2008, 14h13
  3. Réponses: 11
    Dernier message: 20/01/2006, 16h56
  4. [WSDL] waiting for background word to complete
    Par n8ken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 16/12/2005, 14h42
  5. Waiting for locked row
    Par BlackMinou dans le forum Oracle
    Réponses: 4
    Dernier message: 24/10/2005, 17h57

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