Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Javascript] Tout effacer sur une page

    29 janvier 2006 à 17:35:42

    Salut à tous
    Est-il possible d'effacer tout le cntenu d'une page avec une fonction js, de la balise <html> à la balise </html>, TOUT quoi.
    Merci :p
    • Partager sur Facebook
    • Partager sur Twitter
      29 janvier 2006 à 17:44:09

      Oui c'est possible...

      Avec quelque chose du genre:


      var html = document.getElementByTagName("html")[0];
      while( var child = html.firstChild ){
      html.removeChild(child);
      }


      ou encore


      var html = document.getElementByTagName("html")[0];
      var hmlt_childs = document.getElementByTagName("html")[0].childsNodes;
      for(var i=0;i<html_childs.length;i++){
      html.removeChild(hmlt_childs[i]);
      }
      • Partager sur Facebook
      • Partager sur Twitter
        29 janvier 2006 à 17:44:34

        Un simple :

        window.onload = function()
        {
         document.write('');
        }

        ...suffit.

        Mais pourquoi ne pas le faire en PHP, ce serait plus propre ? Et surtout : pourquoi faire ?
        • Partager sur Facebook
        • Partager sur Twitter
          29 janvier 2006 à 17:56:42

          Citation : Nyro Xeo

          Mais pourquoi ne pas le faire en PHP, ce serait plus propre ?


          Comment le faire en php?

          Citation : Nyro Xeo

          Et surtout : pourquoi faire ?


          Ce serait trop compliqué à expliquer en détails, mais j'ai besoin d'avoir du texte qui s'affiche sur une page, puis tout effacer et cela plusieurs fois de suite, en sachant que a page tourne à l'infini à cause d'un while(true), donc ton script ne marchera certainement pas, cependant je vais essayer d'utiliser document.write('');
          Fedaykin, en fait ma page ne contient aucune balise, même pas de balises html, donc je pense que
          var html = document.getElementByTagName("html")[0];
          ne marchera pas
          • Partager sur Facebook
          • Partager sur Twitter
            29 janvier 2006 à 18:04:51

            Citation : azmeuk


            Fedaykin, en fait ma page ne contient aucune balise, même pas de balises html, donc je pense que

            var html = document.getElementByTagName("html")[0];


            ne marchera pas



            En effet il vaut mieux utiliser document.write dans cas
            • Partager sur Facebook
            • Partager sur Twitter
              29 janvier 2006 à 18:20:53

              mais après test , document.write ne marche pas.
              document.write(''); n'efface rien du tout
              edi en fait cela n'efface rien du tout parce que ca ne fait qu'ajouter du texte :p
              • Partager sur Facebook
              • Partager sur Twitter
                29 janvier 2006 à 18:26:19

                alors fais :



                while( var child = document.firstChild ){
                document.removeChild(child);
                }


                Jamais testé mais approuvé :) (mais document.firstChild récupère bien le premier enfant ca c'est sur que ce soit text ou html...)
                • Partager sur Facebook
                • Partager sur Twitter
                  29 janvier 2006 à 18:32:12

                  Citation : azmeuk

                  Citation : Nyro Xeo

                  Mais pourquoi ne pas le faire en PHP, ce serait plus propre ?


                  Comment le faire en php?


                  <?php
                  ob_start();
                  ?>
                  Blablabla
                  <?php
                  ob_end_clean();
                  ?>


                  Et pour le document.write(''), je t'assure que ça fonctionne : http://nyro.xeo.online.fr/SdZ/code.php?action=1&id=54
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 janvier 2006 à 18:34:44

                    non ca ne marche pas, mais en y pensant, peut etre que je pourrais ajouter des balises, rien que pour pouvoir les effacer ensuite

                    edit: Nyro Xeo > Notice: ob_end_clean(): failed to delete buffer. No buffer to delete. in d:\sites\easyphp1-8\www\test\reception.php on line 22
                    (ah oui, j'ai mis un flush() juste avant, ca peut venir de là?)
                    edit²: OOOPPS, j'ai oublié ob_start();
                    Et pour le document.write(''), peut etre que si ca ne marche pas pour moi, c'est parce que la page tourne en permanence.

                    EDIT
                    Voici ma page apelée reception.php
                    <?php
                    set_time_limit(0);

                    $address='192.168.0.1';
                    $port=996699;

                    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                    $result = socket_connect($socket, $address, $port);

                    if(!isset($_POST['pseudo'])) $_POST['pseudo'] ='plop';
                    socket_write($socket, $_POST['pseudo']." /connect" , strlen($message));

                    while(true)
                            {
                            if($input = @socket_read($socket, $port))
                                    {
                                    $pseudo = substr($input , 0 , strpos($input , ' '));
                                    $message = substr($input , strpos($input , ' ')+1 , strlen($input));
                                    echo '['.$pseudo.'] '.$message.'<br />';
                                    flush();
                                    }
                            else
                                    {
                                    echo "Le serveur a été éteint";
                                    break;
                                    }
                            }
                    socket_close($socket);
                    ?>


                    et mainetnant voila la page client.php
                    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                    <html>
                    <head>
                    <title>Chat</title>
                    <script type="text/javascript">
                    function envoi_message()
                            {
                            var xhr_object = null;
                           
                            if(window.XMLHttpRequest) // Firefox
                               xhr_object = new XMLHttpRequest();
                            else
                                    {
                                    if(window.ActiveXObject) // Internet Explorer
                                            xhr_object = new ActiveXObject("Microsoft.XMLHTTP&quot;);
                                    else // XMLHttpRequest non supporté par le navigateur
                                            {
                                            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...&quot;);
                                            //return;
                                            }
                                    }
                           
                            var method   = "POST";
                            var filename = "send.php";
                            var requete  = "message=" + document.getElementById("envoyer&quot;).value + "&pseudo=" + document.getElementById("pseudo&quot;).value;
                           
                            xhr_object.open(method, filename, true);
                           
                            xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded&quot;);
                           
                            xhr_object.send(requete);
                           
                            }

                    function reception()
                            {
                            var xhr_object = null;
                           
                            if(window.XMLHttpRequest) // Firefox
                               xhr_object = new XMLHttpRequest();
                            else
                                    {
                                    if(window.ActiveXObject) // Internet Explorer
                                            xhr_object = new ActiveXObject("Microsoft.XMLHTTP&quot;);
                                    else // XMLHttpRequest non supporté par le navigateur
                                            {
                                            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...&quot;);
                                            //return;
                                            }
                                    }
                           
                            var method   = "POST";
                            var filename = "reception.php";
                            var requete  = "pseudo=" + document.getElementById("pseudo&quot;).value;
                           
                            xhr_object.onreadystatechange = function()
                                    {
                                    if(xhr_object.readyState == 3)
                                            {
                                            var reponse = xhr_object.responseText;
                                            document.getElementById("content&quot;).innerHTML+=reponse;
                                            }
                                    }
                           
                            xhr_object.open(method, filename, true);
                           
                            xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded&quot;);
                           
                            xhr_object.send(requete);
                           
                            }
                    </script>
                    </head>
                    <body onLoad="reception()">
                    <div id="content" style="background-color:#E7F2F8; height:350; overflow:auto;"></div>
                    <div>
                    <input type="text" size="50" name="envoyer" id="envoyer" onSubmit="envoi_message()" />
                    <input type="submit" value="Envoyer" onClick="envoi_message()" />
                    <input type="hidden" id="pseudo" value="<?php echo $_GET['pseudo']; ?>" />
                    </div>
                    </body></html>
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [Javascript] Tout effacer sur une page

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown