Aide personnalisation Script JS "machine à ecrire"

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide personnalisation Script JS "machine à ecrire"

par VaN » 18 juil. 2005, 09:51

pour les intéressés, le script parfait :

Code : Tout sélectionner

<script type="text/javascript"> var texte = '<?php echo $result_news['texte']; ?>'; var delai = 100; var delai_apres_fin = 2000; // Temps à attendre avant de reboucler (en ms) function machine_a_ecrire() { var i = arguments[0] ? arguments[0] : 0; if (i < texte.length) { document.getElementById('bulle').innerHTML = texte.substring(0, i+1); setTimeout('machine_a_ecrire(' + ++i + ')', delai); } else setTimeout('machine_a_ecrire()', delai_apres_fin); } window.onload = machine_a_ecrire; </script>

par VaN » 04 juil. 2005, 13:46

les deux premiers necessitent un champ text pour fonctionner, ce que je voudrais eviter.
quant au dernier, je n'ai pas réussi a le faire fonctionner.

par albat » 04 juil. 2005, 12:30

Il me semble que le script que tu as récupéré provient de :
- http://www.asp-magazine.com/fr/javascri ... es/tr3.htm
- http://www.editeurjavascript.com/script ... _3_207.php

Mais si tu regardes ailleurs, tu en trouveras qui bouclent :
- http://pagesperso.accesinternet.laposte ... 987522025/
- http://perso.wanadoo.fr/patrice.roatta/ ... niere.html
- http://www.flashkod.com/code.aspx?ID=23789

Tu es sûr d'avoir bien cherché ?
Un simple coup de :google: m'a suffi. ;)

par VaN » 04 juil. 2005, 09:31

deja cherché, recherche infructueuse hélas : / il n'y a deja pas masse de script machine a ecrire, alors en plus qui boucle.. :cry:

par albat » 01 juil. 2005, 15:11

Pas surprenant, hélas.

Ne serait-il pas plus simple de chercher sur le web un script de machine à écrire qui boucle ?
Ça doit exister, non ?

par VaN » 01 juil. 2005, 15:00

mais j'ai bien peur que ça fasse aussi planter ton navigateur.
gagné :lol: :roll: :cry:

par albat » 01 juil. 2005, 14:55

Je manque d'idées...
Tu peux aussi tenter ça :
function init()
{ texteNE='';
   machine_a_ecrire();
  init();
}
mais j'ai bien peur que ça fasse aussi planter ton navigateur.
Et puis, c'est pas propre.

Quelqu'un aurait une suggestion ?

par VaN » 01 juil. 2005, 14:14

^^ toujours pas réussi a boucler ma fonction : /

par VaN » 29 juin 2005, 16:38

:cry:

par albat » 28 juin 2005, 18:24

Aurais-je merdu quelque part ?... :lol:

Effectivement, la fonction init() qui s'auto-boucle, c'est vorace.
Pas top top, mon idée. Mais il fait chaud et j'ai pas d'autre idée...

par VaN » 28 juin 2005, 18:17

==> plantage de browser :lol:

Re: Aide personnalisation Script JS "machine à ecrire&a

par albat » 28 juin 2005, 16:42

<script type="text/javascript">
var i=0;
var j=0;
var texteNE, affiche;
var texte ="<?php echo $result['texte']; ?>";
var ie = (document.all);
var ne = (document.layers); 

function init()
{ while (1==1)
        { texteNE='';
          machine_a_ecrire();
        }
}

function machine_a_ecrire()
{ texteNE = texteNE + texte.charAt(i);
  affiche = texteNE;
  if (texte.charAt(i)=="<") j=1;
  if (texte.charAt(i)==">") j=0;
  if (j==0)
     { if (ie)
          document.all("bulle").innerHTML = affiche;
       if (ne)
          { document.bulle.document.write(affiche);
            document.bulle.document.close();
          }
     }
  if (i<texte.length-1)
     { i++;
       setTimeout("machine_a_ecrire()",100);
     }
     else return;
}
</script>
Essaie avec ça.
J'ai modifié la fonction init() mais je ne garantis pas (pas testé).

En revanche, j'en ai profité pour corriger ton code qui n'était pas très propre... ;)

par VaN » 28 juin 2005, 15:43

je n'ai toujours pas trouvé ou placer cette boucle, et comment la formuler, pour que mon texte s'efface et se repete indefiniment :/
un conseil ?

par VaN » 28 juin 2005, 10:41

après quelques renseignements prit sur le net, j'essaie de faire comme ceci :

var compteur = 1;

do {
...
}
while(compteur>0);

mais je n'arrive pas à trouver où mettre la boucle. En mettant l'intégralité du script à l'interieur, le browser plante. J'ai essayé autour de

Code : Tout sélectionner

function init(){ texteNE=''; machine_a_ecrire(); }
et autour de

Code : Tout sélectionner

function init(){ texteNE=''; machine_a_ecrire(); } function machine_a_ecrire(){ texteNE=texteNE+texte.charAt(i) affiche=texteNE }
sans résultats. Ou doit se placer ma boucle ?

Re: Aide personnalisation Script JS "machine à ecrire&q

par albat » 28 juin 2005, 10:29

est ce que l'insérer dans une boucle php qui tournerait à l'infini est une solution envisageable ?
Quel intérêt de mélanger des langages qu'on ne fait pas appel à leurs spécificités ?
Utiliser PHP ne t'apporte rien dans ce cas précis puisque ton script de machine à écrire est côté client.
Tu peux donc très bien créer ta boucle en javascript, ce sera plus homogène et ça ne sollicitera pas le servuer. ;)