Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2994 connectés 

 


Dernière réponse
Sujet : [JAVASCRIPT] un probleme pour les balezes et vieux routards
under franky , j'ai eu le meme probleme....alors, moi le truc qui chiait, c'etait les   "blabla"+varibles+"blabla"
et impossible de trouver pourquoi....tu sais c ce dont je t'avais parle y'a un mois...et ben...bonne chance...en fairt c pas un probleme de prog...enfin si..c un probleme de programmation de netscape !!!!! putain de netscape !!...
ps : la methode de darkoli fait toujours le meme probleme, je l'avais deja essayé....et oui, le document.write() de netscape, il faut po en abuser...sur tout les bouquins que j'ai lu , ils te disent que reecrire une page entiere avec document.write(), ca peut chier....et be voila t'en as fait l'experience ;o)  
 
je chie sur netscape...si si..mais un gros gros caca !!! bien puant...avec les mouches et tout et tout !!!

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
under franky , j'ai eu le meme probleme....alors, moi le truc qui chiait, c'etait les   "blabla"+varibles+"blabla"
et impossible de trouver pourquoi....tu sais c ce dont je t'avais parle y'a un mois...et ben...bonne chance...en fairt c pas un probleme de prog...enfin si..c un probleme de programmation de netscape !!!!! putain de netscape !!...
ps : la methode de darkoli fait toujours le meme probleme, je l'avais deja essayé....et oui, le document.write() de netscape, il faut po en abuser...sur tout les bouquins que j'ai lu , ils te disent que reecrire une page entiere avec document.write(), ca peut chier....et be voila t'en as fait l'experience ;o)  
 
je chie sur netscape...si si..mais un gros gros caca !!! bien puant...avec les mouches et tout et tout !!!
petoulachi Bon.
tout d'abord, merci darkoli, sans le vouloir tu m'as fait trouver ce qui deconnait.
Je m'explique;
J'ai donc voulu faire ce que tu me disais; stocker le code HTMLdans une variable, puis ecrire cette variable. J'ai fais ça pour l'en-tete et la fin de page.
Je lance IE; no pb, tout marche.
Je lance NS;ha bizarre, il n'applique pas les couleurs sur les liens, comme je le specifie dans l'en-tete. dans l'en-tete ? huhu... je commence a comprendre ...
au lieu de faire un include de mon script, bin je l'ecris directement; style :

Code :
  1. top.frames[frame].document.writeln('<html>');
  2. top.frames[frame].document.writeln('<!-- page générée automatiquement par JavaScript-->');
  3. top.frames[frame].document.writeln('<head>');
  4. top.frames[frame].document.writeln('<style type="text/css">');
  5. top.frames[frame].document.writeln('   <!--');
  6. top.frames[frame].document.writeln('    a:link {text-decoration:none; color:'+couleur+';}');
  7. top.frames[frame].document.writeln('    a:visited {text-decoration:none; color:'+couleur+';}');
  8. top.frames[frame].document.writeln('    a:hover {text-decoration:underline; color:'+couleur+';}');
  9. top.frames[frame].document.writeln('   -->');
  10. top.frames[frame].document.writeln('</style>');
  11. top.frames[frame].document.writeln('<script language="javascript">');
  12. top.frames[frame].document.writeln('<!-- ');
  13. top.frames[frame].document.writeln('var CouleurContour;');
  14. top.frames[frame].document.writeln('var CouleurFond;');
  15. top.frames[frame].document.writeln('var CouleurTexte;');
  16. top.frames[frame].document.writeln('var width;');
  17. top.frames[frame].document.writeln('var nsy=0;');
  18. top.frames[frame].document.writeln('function AffBulle(texte)') ;
  19.         ......


je lance NS, et là; miracle , ça marche !!!
Bon par contre, j'aimerai bien pouvoir ne faire que l'inclusion du script, pas l'ecrire completement.
Donc, mon pb est partiellement resolu ... :crazy:

k666 essaye avec des tests simples...
dans ton include met une fonction toute conne du style alert(blabla) et regarde si en l'appelant dynamiquement il y arrive...
essaye aussi peutêtre du
document.write('<script>alert("salut sa marche" );</script>')
et des test du genre....
 
à priori ce con de netscape il se rend pas compte qui a du javascript dans ce kil génère (il fait pas le re-parsing de sa page qd il l'écrit à la volée??? :pt1cable:  :pt1cable:  :pt1cable: )
donc avec des simples tests tu devrais trouver le bug!
je peux pas t'aider plus, car g plus de NETSCAPE sur moi  :gun:  :gun:  :gun:  :gun:  
(on m'en a contraint :sweat:  :sweat: )
petoulachi ok, je vais deja essayer de faire ça.... je sais pas si ça y feras qq chose a mon pb, mais apparemment ça optimise, donc autant pas s'en priver !
darkoli ben je ne sais pas trop en fait je n'utilise pas trop  ns, mais par contre il existe une solution pour ecrire ton code de maniere un peu plus optimiséee.
 
  => 13 308o
 

Code :
  1. var s='<html>\n';
  2. s+='<!-- page générée automatiquement par JavaScript-->\n';
  3. s+='<head>\n';
  4. s+='<style type="text/css">\n';
  5. s+='   <!--\n';
  6. s+='    a:link {text-decoration:none; color:'+couleur+'}\n';
  7. s+=' a:visited {text-decoration:none; color:'+couleur+'}\n';
  8. s+=' a:hover {text-decoration:underline; color:'+couleur+'}\n';
  9. s+='   -->\n';
  10. s+='</style>\n';
  11. s+='<script language="javascript" src="cgi-bin/infobulle.js"></script>\n';
  12. s+='</head>\n';
  13. s+='<body marginheight="0" marginwidth="0">\n';
  14. s+='<script language="JavaScript">InitBulle"black","#FFFFE7","black",70);</script>\n';
  15. top.frames[frame].document.write(s);


 
  la ca ne fait plus que 636 octets
 

Code :
  1. var s='<html>\n<!-- page générée automatiquement par JavaScript-->\n<head>\n<style type="text/css">\n<!--\na:link {text-decoration:none; color:'+couleur+'}\na:visited {text-decoration:none; color:'+couleur+'}\na:hover {text-decoration:underline; color:'+couleur+'}\n-->\n</style>\n<script language="javascript" src="cgi-bin/infobulle.js"></script>\n</head>\n<body marginheight="0" marginwidth="0">\n<script language="JavaScript">InitBulle("black","#FFFFE7","black",70);</script>';
  2. top.frames[frame].document.write(s);


 
la ca ne fait plus que 518 octets mais c'est moins lisible
 
desole mais c'est tout ce que je peux faire.

petoulachi allez je rajoute des precisions :
 
au tout debut , avant d'ecrire l'en-tete, je fais
document.open();
 
puis tout a la fin  
document.close();
 
ça peut poser pb ?
petoulachi ha oui, j'oubliais;
pour etre sur qd meme, j'ai ecrit une page html contenant exactememnt la meme chose que ce qu'il devrait s'ecrire dans la page générée, puis j'ai fait un lien dans une autre frame qui charge la page dans ma frame de menu.
et là, tout marche  :crazy:  :crazy:  :crazy:  
a l'aiiiiide  :sweat:
petoulachi Alors là, je ne sais plus quoi penser ....
je m'explique :
je fais un script qui permet d'ecrire tout le contenu d'une page (une frame en fait). Ainsi, je fais des
top.frames[frame].document.write('truc');
mais ça ,j'en fais plein:

Code :
  1. top.frames[frame].document.write('<html>');
  2. top.frames[frame].document.write('<!-- page générée automatiquement par JavaScript-->');
  3. top.frames[frame].document.write('<head>');
  4. top.frames[frame].document.write('<style type="text/css">');
  5. top.frames[frame].document.write('   <!--');
  6. top.frames[frame].document.write('    a:link {text-decoration:none; color:'+couleur+';}');
  7. top.frames[frame].document.write(' a:visited {text-decoration:none; color:'+couleur+';}');
  8. top.frames[frame].document.write(' a:hover {text-decoration:underline; color:'+couleur+';}');
  9. top.frames[frame].document.write('   -->');
  10. top.frames[frame].document.write('</style>');
  11. top.frames[frame].document.write('</head>');
  12. top.frames[frame].document.write('<body marginheight="0" marginwidth="0">');
 

ça c pour l'entete.

 

ensuite, j'ecris dedans un menu automatiquement genere. Pour cela, j'ai une fonction qui me retourne la chaine de caractere contenant le code HTML pour le menu (ça fait au moins 2000 caracteres ...). mais je pense pas que le pb vienne de là.

 

puis ensuite, je n'ai plus qu'a ecrire la fin :

Code :
  1. top.frames[frame].document.writeln('</body>');
  2. top.frames[frame].document.writeln('</html>');
  3. top.frames[frame].document.writeln('<!-- Fin de la page générée -->');
 

Bon, jusque là, tout aller bien (sous IE4 ou plus, NS4.x et NS6).
puis je me dis; tiens je vais mettre des info bulles sur les liens du menu. Donc, je me sert de script pour faire ça.
Donc il faut que je mette le script dans la page.
Alors pour ça, je me suis dis que le plus simple, c'est de mettre mon script dans un fichier separée, puis de revoir mon entete :

Code :
  1. top.frames[frame].document.writeln('<html>');
  2. top.frames[frame].document.writeln('<!-- page générée automatiquement par JavaScript-->');
  3. top.frames[frame].document.writeln('<head>');
  4. top.frames[frame].document.writeln('<style type="text/css">');
  5. top.frames[frame].document.writeln('   <!--');
  6. top.frames[frame].document.writeln('    a:link {text-decoration:none; color:'+couleur+';}');
  7. top.frames[frame].document.writeln(' a:visited {text-decoration:none; color:'+couleur+';}');
  8. top.frames[frame].document.writeln(' a:hover {text-decoration:underline; color:'+couleur+';}');
  9. top.frames[frame].document.writeln('   -->');
  10. top.frames[frame].document.writeln('</style>');
  11. top.frames[frame].document.writeln('<script language="javascript" src="cgi-bin/infobulle.js"></script>');
  12. top.frames[frame].document.writeln('</head>');
  13. top.frames[frame].document.writeln('<body marginheight="0" marginwidth="0">');
  14. top.frames[frame].document.writeln('<script language="JavaScript">InitBulle("black","#FFFFE7","black",70);</script>');
 

voila ya les 2 lignes en plus; la premiere pour l'inclure, l'autre pour executer le script (donc apres la balise BODY).

 

J'essai sous IE; no pb
sous NS (4.x et 6); ça ne marche pas (bon ok je m'y attendais).
la raison ? lui me sort comme erreur (dans la console):

Code :
  1. JavaScript Error: file:/D|/projet/new
  2. site/accueil.htm, line 15:
  3. InitBulle is not defined.
 

alors il faut savoir que acceuil.htm, c une page qui est affichée au debut (d'ou le nom :D), mais meme pas dans cette frame là ... (dans celle située a droite)
En fait, j'ai l'impression que qd j'ecris dans la page avec doc.write(), ça ecrit bien, mais par contre il ne comprend pas ce qu'il ecrit ?? ainsi, il ne cahrge pas le script...
mais alors, pourquoi l'erreur est dans une autre page ??
alors je me demande ce qu'il se passe qd on fait un document.write(), qd le document contient deja des trucs.
Je m'explique : qd j'ecris toute la page, elle contenait deja des trucs dedans.... alors ils deviennent quoi ces trucs? le probleme vient peut etre de là ?
ya pas une fonction document.erase(), ou un truc du style ?

 

bref, vous l'aurez compris, là je ne vois vraiment aps d'ou ça vient ....

 

un paquet de carambars a celui qui trouve !


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)