Histoire de psychopate

Histoire de psychopate - ASP - Programmation

Marsh Posté le 18-09-2003 à 12:04:11    

Vous allez peut être me croire ou pas mais j'ai vécus cette situation.
 
Si je vous dit qu'une erreur HTMl présent dans du javascript peut causer un probleme du coté serveur vous allez me traiter de fou.
 
Voici l'accusé.

Code :
  1. function AfficheTips(strUrlImag,strDescription){
  2.   var N=navigator.appName  //detecte le navigateur
  3.   var V=navigator.appVersion; //detecte les caracterisitque du navigateur du navigateur
  4.   var version=(V.substring(0,V.indexOf("(",0))); //isole la version du navigateur
  5.  
  6.   strHtmlOutNet = '<layer left="101" top="210" width="350">\n';
  7.   strHtmlOutNet += '  <table border="0" bordercolor="#000000" cellspacing="3" background="images/divers/transparent.gif" cellpadding="0" bgcolor="#FFFFFF">\n';
  8.   strHtmlOutNet += '    <tr>\n';
  9.   strHtmlOutNet += '      <td valign="top"><img src="' + strUrlImag + '"></td>\n';
  10.   strHtmlOutNet += '      <td valign="top">' + strDescription +'</td>\n'; 
  11.   strHtmlOutNet += '    </tr>\n';
  12.   strHtmlOutNet += '  </table>\n';
  13.   strHtmlOutNet += '</layer>\n';
  14.  
  15.   strHtmlOutIE = '<div style="position:absolute; width:350px; border:1px solid #000000; height:115px; z-index:1; left: 50px; top: 240px">\n';
  16.   strHtmlOutIE += '  <table bgcolor="#FFFFFF" border="0" width="100%" cellspacing="0" cellpadding="0">\n';
  17.   strHtmlOutIE += '    <tr>\n';
  18.   strHtmlOutIE += '      <td valign="top"><img src="' + strUrlImag + '"></td>\n';
  19.   strHtmlOutIE += '      <td valign="top">' + strDescription +'</td>\n'; 
  20.   strHtmlOutIE += '    </tr>\n';
  21.   strHtmlOutIE += '  </table>\n';
  22.   strHtmlOutIE += '</div>\n';
  23.  
  24.   if(N=="Netscape" )  document.write(strHtmlOutNet)
  25.   else if(N=="Microsoft Internet Explorer" ) document.write(strHtmlOutIE)
  26. }


 
En résumé c'est que si la variable "strUrlImag"  étais vide ça causait un probleme du coté serveur au niveau des session.
Il faisait n'importe quoi avec les sessions et les condition de type  

Code :
  1. if ... then ... else ... end ... if


 
J'ai du rajouter la ligne suivante dans  la fonction javascript

Code :
  1. if(strUrlImag=="" ) strUrlImag="image.gif";


 
Je précise bien que la fonction javascript se trouve dans un *.js
et l'appelle de la fonction se fais dans un *.asp
 
J'ai testé dans tous les sens et par désespoire je me suis dit que ça pourrais être l'appelle de la fonction.
 
la fonction est appeller de cette maniere
 

Code :
  1. [....]
  2.   strHtmlOut & "<script language=""Javascript"">" & chr(13)
  3.   strHtmlOut & AfficheTips('" & deslash(arrTips(4)) & "','" & arrTips(3) & "')" & chr(13)
  4.   strHtmlOut & "</script>" & chr(13)
  5. [....]


Message édité par berceker le 18-09-2003 à 12:05:04
Reply

Marsh Posté le 18-09-2003 à 12:04:11   

Reply

Marsh Posté le 18-09-2003 à 12:54:21    

Là je ne comprends pas tout mais j'ai l'impression que tu mélanges l'asp et le js.
 
L'appel de la fonction afficheTips se fait en asp, mais elle est écrite en javascript donc c'est un peu confus dans mon esprit.
 
Peux tu préciser, un peu plus ton code et la facon dont tu l'appel ( tu parles d'un js )
 
 
 


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 18-09-2003 à 16:28:23    

Lord II a écrit :

Là je ne comprends pas tout mais j'ai l'impression que tu mélanges l'asp et le js.
 
L'appel de la fonction afficheTips se fait en asp, mais elle est écrite en javascript donc c'est un peu confus dans mon esprit.
 
Peux tu préciser, un peu plus ton code et la facon dont tu l'appel ( tu parles d'un js )


 
Non je ne confond pas. Je comprend que ça soit confus alors j'explique.
 
Dans un fichier *.js j'ai une fonction qui permet d'afficher un div selon le typ de navigateur.
 

Code :
  1. fonction AfficheTips(url de l'image,description)


 
Dans le fichier asp je génére du contenu HTML. Le tous est contenu dans un variable asp pour le mettre en sortie de ma fonction et dans cette variable en chaine de caractere j'appelle ma fonction javascript

Code :
  1. [....]
  2. strHtmlOut & "<script language=""Javascript"">" & chr(13)
  3. strHtmlOut & AfficheTips('" & deslash(arrTips(4)) & "','" & arrTips(3) & "')" & chr(13)
  4. strHtmlOut & "</script>" & chr(13)
  5. [....]


 
 mais elle n'est pas executé du coté mais du coté Client.  
 
Problème c'est lorsque le tableau  arrTips(4)  vaut vide la balise img est vide et ça génére une erreur au niveau de serveur . Je ne confond pas les scripts executé coté serveur et ceux coté client. Je ne vois pas pourquoi lorsqu'il y a <img src=""> le serveur fais planter les session

Reply

Marsh Posté le 18-09-2003 à 17:19:20    

J'ai l'impression qu'il manque un " avant AfficheTips et c'est ca qui m'a induit en erreur


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 24-09-2003 à 12:35:24    

Lord II a écrit :

J'ai l'impression qu'il manque un " avant AfficheTips et c'est ca qui m'a induit en erreur


 
Oups oui exacte ! il ya bien un "


---------------
Si je suis près de toi c'est soit pour t'embrasser ou te croquer, alors à ce moment là rappelle toi de ce que tu m'as fait. du bien ou du mal?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed