11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous Smiley smile

Voilà, j'ai essayé pour la première fois de ma vie de faire un code JavaScript sans aucune aide extérieure, et.. ca n'a pas marché.
Pire, je n'arrive pas à m'en sortir tout seul Smiley sweatdrop

J'utilise du JavaScript pour l'affichage d'une bannière. Voici le code à l'intérieur de ma page :
<script type="text/javascript" src="http://www.quaddxmas.com/scriptsflash/qxmban148x465.js">ban(712);</script>


Et voici le contenu de mon script qxmban148x465.js :
function ban(parrain) {

	if (!parrain || isNaN(parrain)) {
	
		var url='url=http://www.quaddxmas.com';
	
	} else {
	
		var url='url=http://www.quaddxmas.com?parrain='+parrain;
	
	}
	
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="148" height="465"><param name="FlashVars" value=""/><param name="movie" value="http://www.quaddxmas.com/scriptsflash/qxmban148x465.swf"/><param name="quality" value="high"/><embed src="http://www.quaddxmas.com/scriptsflash/qxmban148x465.swf" menu="false" FlashVars="'+url+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="148" height="465"></embed></object>');

}


Le but est d'appeler la fonction pour faire afficher la bannière flash en lui passant un paramètre.
Si je ne déclare aucun fonction dans qxmban148x465.js et que je met le document.write directement, tout fonctionne correctement mais la variable url n'est pas utilisée (ce qui me parait normal). Le problème semble donc bien provenir de mon code javascript :s


Merci aux futurs lecteurs de ce sujet !
Modifié par Stabbquadd (03 Jan 2007 - 19:00)
Personnellement j'aime pas les raccourcis de syntaxe, particulièrement quand çà créé des bugs donc :
function ban(parrain) {
 if (!parrain || isNaN(parrain)){
  var url='url=http://www.quaddxmas.com';
 }
 else {
  var url='url=http://www.quaddxmas.com?parrain='+parrain;
  document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="148" height="465"><param name="FlashVars" value=""/><param name="movie" value="http://www.quaddxmas.com/scriptsflash/qxmban148x465.swf"/><param name="quality" value="high"/><embed src="http://www.quaddxmas.com/scriptsflash/qxmban148x465.swf" menu="false" FlashVars="'+url+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="148" height="465"></embed></object>');
 }
}
Modification effectuée Smiley smile

Lorsque je met dans mon script :
document.write('Chargement OK !<br />');

avant de définir la fonction, le texte s'affiche correctement.
Par contre si je le met dans la fonction il ne s'affiche pas.

Donc c'est mon ban(712); apparemment qui n'appelle rien, puisque seule la fonction n'est pas exécutée !


Peut-être faudrait-il fermer la balise JavaScript et en ouvrir une autre sans l'appel au script (src=...) ?



EDIT :

Confirmation !
Mon problème est donc résolu Smiley lol
Modifié par Stabbquadd (03 Jan 2007 - 19:12)
CNeo a écrit :
Personnellement j'aime pas les raccourcis de syntaxe, particulièrement quand çà créé des bugs donc :
function ban(parrain) {
 if (!parrain || isNaN(parrain)){
  var url='url=http://www.quaddxmas.com';
 }
 else {
  var url='url=http://www.quaddxmas.com?parrain='+parrain;
  document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="148" height="465"><param name="FlashVars" value=""/><param name="movie" value="http://www.quaddxmas.com/scriptsflash/qxmban148x465.swf"/><param name="quality" value="high"/><embed src="http://www.quaddxmas.com/scriptsflash/qxmban148x465.swf" menu="false" FlashVars="'+url+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="148" height="465"></embed></object>');
 }
}
Je ne vois pas le rapport entre le code que tu donnes et celui du message d'origine. Quel est le "raccourci" dont tu parles ?
Eldebaran a écrit :
Je ne vois pas le rapport entre le code que tu donnes et celui du message d'origine. Quel est le "raccourci" dont tu parles ?


C'est parce que j'ai modifié mon message de départ.
Il n'y avait pas les accolades à l'origine Smiley cligne
Stabbquadd a écrit :
C'est parce que j'ai modifié mon message de départ.
Il n'y avait pas les accolades à l'origine Smiley cligne
Ah, OK. Smiley langue

Ceci dit, il était quand même évident que les accolades étaient placées comme ça et non pas comme les a placées CNeo.
Il faut savoir que sans les accolades une seule ligne est prise en compte, sinon on se trompe comme CNeo. Mais son erreur pourra peut-être servir à d'autres Smiley cligne

Pour ce qui est de mon code il marche parfaitement. Maintenant faut que je m'attaque à la modification de ma bannière flash qui ne prend apparemment pas tout en compte. En cas de problème, je sais où demander (soit pas dans cette partie du forum ^^)
Comme le dit Stabbquadd mon erreur peut servir car si je me suis trompé c'est que quelqu'un qui aurait à relire le code pour une éventuelle modification pourrait se tromper ...
Modérateur
Bonjour,

Pourquoi ne pas afficher la bannière directement en html ? Celle-ci est optionnelle et ne doit pas être visible lorsque Javascript est désactivé ?