appel de script dynamiquement

appel de script dynamiquement - HTML/CSS - Programmation

Marsh Posté le 07-04-2009 à 17:15:24    

j'appelle un script javascript dynamiquement,
seule soucis, il est bien appelé dans la div dans laquelle je lui dis mais ne se charge pas dans la div dans laquelle il est appelé... mais tout en bas de mon site.
 
voici mon code

Code :
  1. <div id='test'>
  2. function appelle_js() {
  3.  var newscript = document.createElement('script');
  4.   newscript.type  = 'text/javascript';
  5.   newscript.onload  = onLoad;
  6.   newscript.src   = 'http://monsite.com/script.php?code=' + mavariable;
  7.  var head = document.getElementById('test');
  8.  //var head = document.getElementsByTagName('head')[0];
  9.   head.appendChild(newscript);
  10. }
  11. function onLoad() {
  12.  document.close();
  13. }
  14. appelle_js();
  15. </div>


 
en résultat j'ai bien

Code :
  1. <div id='test'><script type='text/javascript' src='http://monsite.com/script.php?code=145228'></script></div>


mais le résultat du script s'affiche à la fin de mon site et pas dans la div 'test'.
je pense que c'est lié à l'événement onload mais je ne trouve pas de solution.
merci 10000 fois pour votre aide sur ce soucis avec le lequel je galère depuis des jours


Message édité par jedebute75 le 09-04-2009 à 16:16:01
Reply

Marsh Posté le 07-04-2009 à 17:15:24   

Reply

Marsh Posté le 09-04-2009 à 16:19:13    

j'ai essayé plusieurs combinaisons , la div 'test' avant, pareil, la dic test après, ça ne se charge plus...
rien à faire...

Reply

Marsh Posté le 09-04-2009 à 17:48:31    

1. Ne pas mettre le script dans <div>...</div>
Une division est faite pour contenir un texte ou une image, mais pas pour contenir un bout de javascript, même si ce n'est pas explicitement interdit.
 
2. Mettre le script dans la partie <head>...</head>
La place normale pour un script est dans l'entête de la page.
 
3. Mettre l'appel à une fonction javascript, par exemple appelle_js();, dans la gestion d'un événement.
Par exemple, dans le onclick d'un bouton.


Message édité par olivthill le 09-04-2009 à 17:49:35
Reply

Marsh Posté le 10-04-2009 à 14:19:20    

Merci beaucoup pour ta réponse.
mon soucis :  
l1) le script renvoi une image et je dois pouvoir controler sa position donc le lancer dans le head oui mais après le résultat de ce script donc l'image, comment le positionner ou je veux c'est la tout mon soucis !!
 
2)ce script doit se lancer à l'ouverture de la page donc le onclick je ne peux pas
 
donc voilà bien ma galère et c'est justement ces deux contraintes qui me font tourner en rond...


Message édité par jedebute75 le 10-04-2009 à 14:19:36
Reply

Marsh Posté le 10-04-2009 à 14:36:29    

bonjour,
>>mais le résultat du script s'affiche à la fin de mon site et pas dans la div 'test'.
ça dépend uniquement ( à priori) de ce que fait le script appelé
le fait de l'appeler n'importe où, ne signifie pas
obligatoirement qu'il va afficher "le résultat"
là où l'on est....
@+

Reply

Marsh Posté le 10-04-2009 à 14:46:59    

Le script renvoi une image :  
si je fais :  
<div id='test'><script type='text/javascript' src='http://monsite.com/script.php?value=45147'></script>
</div>
 
Aucun souci, l'image apparait dans la div, donc la ou je veux qu'elle soit.
maintenant, si j'appelle dynamiquement le script (pas le choix car j'ai une variable javascript dans le src) , j'ai bien dans la source
<div id='test'><script type='text/javascript' src='http://monsite.com/script.php?value=45147'></script>
</div>
mais l'image apparait à la fin de mon site (juste avant la fermeture du body)

Reply

Marsh Posté le 14-04-2009 à 09:44:47    

je viens de trouver un truc intéressant :
 
si je place un alert('nimportequoi') après l'appelle du script, le résultat du script s'affiche bien la ou je le veux...
ex :  
appelle_js();
alert('test');
 
mais bon, je dois trouver une solution alternative à alert...

Reply

Sujets relatifs:

Leave a Replay

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