Aller au contenu

Page HTML/JavaScript


Messages recommandés

Bonjour, voilà, j'ai récupéré sur un site le code suivant que j'ai retouché

Il était un peu bizar et tenait sur une seul ligne. Tous les caractères spéciaux étaient remplacé par des codes exa (ex. %20 pour faire un espace)

J'ai retrouvé une table ASCII et j'ai tout remplacé, mais voilà, maintenant que le code est plus clair, celà ne fonctionne plus :(

J'aimerais bien savoir d'où vient l'erreur...

Merci d'avance

PhOeNiX

<script>
<!--
document.write(unescape("<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Titre de la page</title>
<body onload="teclear();" bgcolor="#000000">
<div align='center'>
<style> 
<!-- .layermensaje { 
font-family: "arial"; 
font-size: 9pt; 
color: #ffffff; 
line-height: 13pt} 
//--> 
</style>
<script language="javascript">
<!--
mensaje= 
'<font color="#ffffff"><br><br><br><br><br>Ligne 01<br>Ligne 02<br>Ligne 03<br>Ligne 04<br><br>Ligne 05<br>Ligne 06</font><br><br>'+
'<font color="#FF0000"><font size="5" face="Arial">Ligne 07 en grand</font><br><br>'+
'<font color="#f0ff00">Ligne 08</font><br><br>'+
'<font color="#00CC00"><font size="7" face="Arial">Ligne 09 en tres grand</h1></font><br><br>'+
'<font color="#f0ff00">Ligne 10</font><br><br>'+
'<font color="#363636">Ligne 011</font>'+
'<br>'
line=6
cursor='_'
function teclear(){
if(line==mensaje.length) cursor=''
ttecleado.innerHTML=mensaje.substring(0,line)+cursor
if(line++<mensaje.length) setTimeout("teclear()",60) 
}
//-->
</script>

</body>
<div id="ttecleado""
class="layermensaje"></div>
</html>

<script language='javascript'>postamble();</script>

<STYLE>.layermensaje {
FONT-SIZE: 9pt; COLOR: #FFFFFF; LINE-HEIGHT: 13pt; FONT-FAMILY: "Arial"
}
</STYLE>
<style>
BODY{
scrollbar-arrow-color: #000000;
scrollbar-3dlight-color: #000000;
scrollbar-highlight-color: #000000;
scrollbar-face-color: #000000;
scrollbar-shadow-color: #000000;
scrollbar-darkshadow-color: #000000;
scrollbar-track-color: #000000;
}
</style></SCRIPT>
"));
//-->
</script>

Lien vers le commentaire
Partager sur d’autres sites

Tu veux faire quoi avec ce code ? ou reproduire quel truc ?

En gros il y a du ménage à faire ou y en a eu de trop de fait :

- en début de script "document.write(unescape("" n'est pas suivi par les parenthèses fermantes.

- y a des balises style dans tous les sens :D

- après ttecleado il y a un " de trop

- y a 2 balises </html>

- plus de </script> que <script>

- il manque des fonctions.

...

Lien vers le commentaire
Partager sur d’autres sites

Bah le but de ce script c'est de visualiser un curseur (_) qui écrit du texte... comme quand on tape au clavier...

Il avance et écrit le texte indiqué (ligne 01, ligne 02, etc...)

Je trouvais ça pas mal, je l'avais modifié pour moi mais quand yavait tout remplacé par des %20, %21; etc... et aps clair du tout...

Là, c'est plus clair :D mais page blanche :(

Merci de ton aide en tout cas :8

Lien vers le commentaire
Partager sur d’autres sites

Bah quand je dis "modifier" c'est juste remplacer le texte de l'autre personne par celui que j'ai mit et j'ai enlevé quelque ligne en plus (rien de compliqué, juste du texte)

Donc, maintenant que le code est plus clair, j'aurais du mal à essayer de le comprendre si il est pas bon :s

Ya des trucs que je comprends, mais le principe est encore flou, donc, avec une correction, je pense que celà me permettra de mieux comprendre, surtout, en comparant les 2 codes :D

Lien vers le commentaire
Partager sur d’autres sites

- en début de script "document.write(unescape("" n'est pas suivi par les parenthèses fermantes.

Je connais pas vraiment le fonctionnement, mais je pense que j'ai trouvé les parenthèses fermantes...

<script>
<!--
document.write(unescape("<html>
<head>
...
...
...
...
...
}
</style></SCRIPT>
"));
//-->
</script>

Elles sont à la fin, mais je pense qu'il y a un souci à ce niveau là, car quand on lance la page, on voit juste d'afficher sur la page : ")); //-->

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Au fait, j'ai trouvé la solution concernant le script

Il suffisait juste d'enlever les balises "script" au début et à la fin du code pour qu'il s'affiche.

Donc, même si il est pas très bien organiser et qu'il a des faute, il fonctionne.

Il faut juste par la suite que j'essayer de mieux comprendre et de l'améliorer :resolu:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Titre de la page</title>
<body onload="teclear();" bgcolor="#000000">
<div align='center'>
<style>
<!-- .layermensaje {
font-family: "arial";
font-size: 9pt;
color: #ffffff;
line-height: 13pt}
//-->
</style>
<script language="javascript">
<!--
mensaje=
'<font color="#ffffff"><br><br><br><br><br>Ligne 01<br>Ligne 02<br>Ligne 03<br>Ligne 04<br><br>Ligne 05<br>Ligne 06</font><br><br>'+
'<font color="#FF0000"><font size="5" face="Arial">Ligne 07 en grand</font><br><br>'+
'<font color="#f0ff00">Ligne 08</font><br><br>'+
'<font color="#00CC00"><font size="7" face="Arial">Ligne 09 en tres grand</h1></font><br><br>'+
'<font color="#f0ff00">Ligne 10</font><br><br>'+
'<font color="#363636">Ligne 011</font>'+
'<br>'
line=6
cursor='_'
function teclear(){
if(line==mensaje.length) cursor=''
ttecleado.innerHTML=mensaje.substring(0,line)+cursor
if(line++<mensaje.length) setTimeout("teclear()",60)
}
//-->
</script>

</body>
<div id="ttecleado""
class="layermensaje"></div>
</html>

<script language='javascript'>postamble();</script>

<STYLE>.layermensaje {
FONT-SIZE: 9pt; COLOR: #FFFFFF; LINE-HEIGHT: 13pt; FONT-FAMILY: "Arial"
}
</STYLE>
<style>
BODY{
scrollbar-arrow-color: #000000;
scrollbar-3dlight-color: #000000;
scrollbar-highlight-color: #000000;
scrollbar-face-color: #000000;
scrollbar-shadow-color: #000000;
scrollbar-darkshadow-color: #000000;
scrollbar-track-color: #000000;
}
</style></SCRIPT>

Bonne continuation à vous :roll:

Lien vers le commentaire
Partager sur d’autres sites

ok, merci :D

je suis en train d'étudier tout ça...

une autre petite question concernant l'affichage du texte...

là, actuellement, la 1ère ligne s'affiche, puis, fait un retour chariot afin d'afficher la ligne 2, etc...

je voudrais savoir comment je pouvais faire pour que la 1ère ligne s'affiche, mais qu'en suite, elle s'efface pour que la 2ème ligne s'affiche sur la même ligne (qu'elle la remplace)

je suis en train de chercher sur le net, mais je ne trouve pas mon bonheur... rien ne parle de ça, mais plûtot de comment revenir à la ligne :D

merci d'avance :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Dans la fonction teclear(), il va falloir modifier le premier paramètre : 0.

Pour t'expliquer, le script initial utilise un message comprenant l'ensemble des infos qui seront affichées. Et à mesure que le temps s'écoule, on récupère le texte depuis le début et en ajoutant à chaque fois plus de contenu = ce qui donne l'impression que le texte apparait.

Pour n'avoir à chaque passage que la ligne en cours, il faudra remplacer le 0 par l'index du premier caractère de la ligne en cours.

Lien vers le commentaire
Partager sur d’autres sites

Bon, j'ai essayé plusieurs solutions, mais rien n'y fait :(

J'ai compris le principe et la logique, mais la pratique ne donne rien, j'y suis depuis que je t'ai laissé le message mais rien n'y fait :(

Tu aurais pas un autre exemple que je comprenne sans me donner la solution...

Quand tu parles de remplacer le 0 par l'index du premier caractère de la ligne en cours, comment situes-tu cet index ? qu'est-ce que ça peut être ? car d'après ce que j'ai vu, le 0 corresponds à un emplacement dans la ligne et si j'incrémente ce caractère, je commence la ligne plus loin... Les autres caractères ne fonctionne pas à la place... donc :(

Merci de ton aide :|

Lien vers le commentaire
Partager sur d’autres sites

Bon, j'ai trouvé un script qui me permet de faire ce que je souhaites (afficher une ligne de texte l'une après l'autre, mais sans revisualiser la ligne précédente --> qu'elle s'efface automatiquement)... mais bon, certain truc me manque et je n'arrive pas à les modifier ou les insérer...

	<div align="center" >
<span id="highlighter" style="position:absolute;font-family:Arial;clip:rect(10px 10px auto 10px)"></span>
</div>
	<script type="text/javascript" language="">
	cursor='_'
	var tickercontents=new Array()
	tickercontents[0]='<font color="#FFFFFF">Texte 01</font>'
	tickercontents[1]='<font color="#FFFFFF">Texte 02</font>'
	tickercontents[2]='<font color="#FFFFFF">Texte 03</font>'
	var tickdelay=3000 //delay d'affichage
	var highlightspeed=5 //vitesse
	var currentmessage=0
	var clipwidth=0
		function changetickercontent(){
			crosstick.style.clip="rect(0px 0px auto 0px)"
			crosstick.innerHTML=tickercontents[currentmessage]
			highlightmsg()
			}
		function highlightmsg(){
	var msgwidth=crosstick.offsetWidth
		if (clipwidth<msgwidth){
			clipwidth+=highlightspeed
			crosstick.style.clip="rect(0px "+clipwidth+"px auto 0px)"
			beginclip=setTimeout("highlightmsg()",20)
			}
		else{
			clipwidth=0
			clearTimeout(beginclip)
		if (currentmessage==tickercontents.length-1) currentmessage=0
		else currentmessage++
			setTimeout("changetickercontent()",tickdelay)
			}
			}
		function start_ticking(){
			crosstick=document.getElementById? document.getElementById("highlighter") : document.all.highlighter
			crosstickParent=crosstick.parentNode? crosstick.parentNode : crosstick.parentElement
		if (parseInt(crosstick.offsetHeight)>0)
			crosstickParent.style.height=crosstick.offsetHeight+'px'
		else
			setTimeout("crosstickParent.style.height=crosstick.offsetHeight+'px'",100) 
			changetickercontent()
			}
	</script>

Je souhaiterais :

- centrer mon texte au centre de la page... là, j'ai réussi à le centrer, mais en haut de la page... la seul solution que j'ai trouvé, c'est de rajouter des <br> avant chaque ligne (mais bon, pas très optimisé comme solution)

- rajouter lors de l'écriture du texte le caractère "_" comme sur l'ancien code, afin d'avoir un effet de saisi clavier...

j'ai donc rajouté en haut du script cursor='_' mais je n'arrive pas à le positionner dans le texte, la seul chose que j'arrive à faire c'est à le voir à la fin de la ligne, mais pas pendant l'affichage...

Tant de question, mais bon, j'aime me dépasser :keskidit:

Merci de votre aide en tout cas ;)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...