Fichier js et XMLHttpRequest
Bonjour,
après moutl recherches j'en viens a demander votre aide parce que je ne comprends pas, et que je n'ai pas trouvé pour satisfaire ma compréhension sur le net.
je suis en formation entre autres de Javascript et pour nous apprendre de façon ludique tout ce que l'on peut faire avec ce langage, comme exercice notre prof nous a demandé de faire un jeu, celui que l'on voulait. J'ai opté pour un pendu que j'ai réussi à coder (sans triche de recopie). Tout était merveilleux pour moi quand le prof me dit "c'est super mais il faut créer un fichier js et un fichier HTML".
Le script fonctionne entre les balises <script></script> de ma feuille HTML, mais pas dans mon fichier js pourtant déclaré dans le fichier HTML de cette manière juste au-dessus de la balise </body>:
Code:
1 2
|
<script src="js/jquery.js"></script> |
puis mon fichier js
Code:
1 2
|
<script src="js/pendu.js"></script> |
le problème vient d'une fonction qui ouvre un fichier texte. C'est celle-ci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
function fichier_txt(fich) // ouvre le fichier texte qui est mon dico
{
if(window.XMLHttpRequest)
{
obj_pers = new XMLHttpRequest(); //Pour Chrome, Firefox, Opera et les autres...
}
else if(window.ActiveXObject)
{
obj_pers = new ActiveXObject("Microsoft.XMLHTTP"); //Pour Internet Explorer
}
else
{
return(false);
}
if (obj_pers.overrideMimeType)
{
obj_pers.overrideMimeType("text/xml"); //Évite un bug de Safari
}
obj_pers.open("GET", fich, false);
obj_pers.send(null);
if(obj_pers.readyState == 4)
{
return(obj_pers.responseText);
}
else
{
return(false);
}
} // Fin de la fonction fichier_txt |
Il déclare comme indéfini tout ce qui touche cette variable, si toutefois s'en est une, "obj_pers". quand je dis plus haut sans triche ni copie, il y a une exception, cette fonction dont je ne comprends pas grand chose et qui ouvre mon fichier.
Autant tout fonctionne très bien quand ce fichier se trouve dans la page HTML à l'intérieur des balises <script></script>, autant il bloque tout dans le fichier js.
par avance je vous remercie pour votre attention et aide