2012-12-31 3 views
0

J'essaie d'inclure jquery et quelques fichiers js externes dans mon fichier index.php.
J'ai essayé tout d'abord:Y compris le fichier JS externe en xhtml

<script src="jquery-1.8.3.min.js" type="text/javascript"></script> 
<script src="file1.js" type="text/javascript"></script> 
<script src="file2.js" type="text/javascript"></script> 
<script src="file3.js" type="text/javascript"></script> 

mais il ne fonctionne pas dans IE9 (mode avec IE7 compatibilty). J'ai donc essayé ceci:

<script src="jquery-1.8.3.min.js" type="text/javascript" /> 
<script src="file1.js" type="text/javascript" /> 
<script src="file2.js" type="text/javascript" /> 
<script src="file3.js" type="text/javascript" /> 

ce qui est faux et ne fonctionne pas dans n'importe quel navigateur. Mais si je fais ceci:

<script src="jquery-1.8.3.min.js" type="text/javascript" /> 
<script src="file1.js" type="text/javascript" /> 
<script src="file2.js" type="text/javascript" /> 
<script src="file3.js" type="text/javascript" /></script> 

qui semble fonctionner mais le dernier fichier n'est pas inclus.
Je ne peux pas vous fournir le code original, désolé.

Quelqu'un peut-il me dire quelle est la bonne façon de procéder? Est-ce que je fais quelque chose de mal?

Ps:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl"> 

EDIT:

Comme T.J. Crowder a dit que les balises html étaient correctes, le problème est dans mon script. J'ai travaillé là où il est et le problème semble être dans ces lignes. C'est le script que j'ai obtenu de SO qui vérifie si le navigateur supporte input[type=date]. Si vous pouviez simplement me dire un moyen facile de le vérifier dans IE sans casser tout le script que j'apprécierais. Peu importe, j'ai changé tester.type = "date"; à tester.setAttribute("type", "date"); et cela fonctionne aussi bien dans IE.

var tester = document.createElement('input'); 
tester.type = "date"; 
//if type date is not supported create own mask 
if(tester.type !== "date") 
+0

* "mais cela n'a pas fonctionné dans IE9 (mode de compatibilité avec IE7)." * Définir "n'a pas fonctionné." Votre premier ensemble d'exemples est la bonne façon de le faire. –

+0

Aucun des fichiers n'a été inclus. Le Jquery ne travaillait pas du tout. – Dharman

+1

Ce n'est pas important, mais où est-ce que cela est inclus? Dans la tête ou le corps? Êtes-vous sûr qu'il n'y a pas d'autres erreurs d'analyse dans le document causant des problèmes? HTML est assez tolérant, mais les balises non fermées ou l'imbrication incorrecte peuvent provoquer un comportement erratique. – Apropos

Répondre

3

La question est "Quelle est la bonne façon de procéder?" et la réponse est "La façon dont vous l'avez fait dans votre premier ensemble d'exemples." :-)

Vous avez dit que votre première série d'exemples « ne fonctionnait pas » et dans les commentaires que ... plus expliqué

... Aucun des fichiers ont été inclus. Le Jquery ne travaillait pas du tout.

Ce n'est pas un problème avec vos tags script, votre premier jeu d'exemples est correct. Regardez dans les outils de développement F12 et vous trouverez probablement que les scripts ne sont pas où vous pensez qu'ils sont (par exemple, vous obtenez 404s), ou vous obtenez des erreurs de script (par exemple, les fichiers ont été inclus, mais les erreurs de script les empêchaient de fonctionner correctement).

+0

Il semble impliquer qu'il fonctionnait dans d'autres navigateurs - juste IE en mode de compatibilité.Ce ne serait pas un problème 404. – Apropos

+0

@Apropos: Alors ce sera une erreur de script ou un tel. La réponse fondamentale ne change pas. :-) –

+0

@ t-j-crowder Fair point - bien que le DOM corrompu ne le soit pas. Cela dépend de la console, je suppose. Pas familier avec IE. – Apropos