2010-10-24 5 views
3

je ce script dans le fichier séparé Sample.js:Le JavaScript le plus simple du monde ne fonctionnera pas!

function MyPrint(text) 
{ 
document.write(text); 
} 

Et j'ai la page HTML suivante: "Bonjour tout le monde stupide"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
    <title>Silly example</title> 
</head> 
<body> 
    <div> 
     <script type="text/javascript" src="JavaScript/Sample.js"> 
      MyPrint("Hello silly world!"); 
     </script> 
    </div> 
</body> 
</html> 

résultat final est que le texte n'est pas imprimé sur la page. Que dois-je faire pour que cela fonctionne? Je préférerais ne pas déplacer l'étiquette de script à la tête, si possible. Merci.

+0

Dans quel navigateur? C'est le problème avec les choses de script héritées de ce 1990. – Manius

+3

supprime le src du script et en place un nouveau. –

Répondre

18

Je pense que la balise src remplace celle qui est à l'intérieur.

les opérations suivantes:

<script type="text/javascript" src="JavaScript/Sample.js"></script> 
    <script type="text/javascript"> 
     MyPrint("Hello silly world!"); 
    </script> 
+7

C'est le seul. Vous pouvez avoir du code ou 'src', mais pas les deux. – Kobi

+0

Eh bien, remplacez 'JavaScript/Sample.js' par n'importe quel script, puis remplacez l'appel' MyPrint (...) 'par la fonction. –

+0

bien fait! Merci beaucoup. – Boris

-1
window.onload = function(){ 
MyPrint("Hello silly world!"); 
}; 
+2

Le script utilise 'document.write', cela n'aura pas le comportement souhaité. – Quentin

4

Votre script peut être considéré comme chargé après la fermeture élément </script>. Cela devrait fonctionner:

<!-- just a sidenote: type="text/javascript" is the default for script as of html5 --> 
<script src="JavaScript/Sample.js"></script> 
<script>MyPrint("Hello silly world!");</script> 
0
<script type="text/javascript"> 
MyPrint("Hello silly world!"); 
</script> 
Questions connexes