11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous Smiley smile

je me sers pour la première fois de Modernizer, et je voudrais que si le navigateur est capable de comprendre telle propriété, charge telle feuille de style/telle feuille de js, sinon, cherge telle autre.

quelque chose comme cela :


$.ChargeFichier=function(){
  if($("html").hasClass("no-svg")){
  //charge tel fichier
  }else{
  //charge tel autre
  }
};
$.ChargeFichier()


ma question est : comment est ce que je dois écrire "charge tel fichier"?
merci de votre aide Smiley langue
Modifié par Claire39 (15 Sep 2014 - 20:11)
Dans Modernizr, tu peux embarquer un outil qui s'appelle Yepnope.js et qui sert précisément à ça.

De mémoire il faut prendre un peu de temps pour appréhender la solution, mais elle est conçue pour ça et intégrée dans le builder de Modernizr, donc...
Bonjour.

En jQuery, tu peux charger un script avec getScript(), pour le CSS, une méthode append() un peu plus old-school.

Mais effectivement pour ton problème avec Modernizr, plutôt utiliser Yepnope qui est intégré dedans comme l'a préciser Ten.
Merci pour vos réponses, même si je réponds un peu tardivement!

comme je n'ai qu'une seule capacité du navigateur à tester, en l’occurrence la capacité à comprendre le svg ou non, j'ai fait très simple, pour ne pas avoir à me plonger dans Yepnope immédiatement (vive la procrastination le vendredi après midi Smiley smile )

voici ce que j'ai écrit, tout en gardant en tête que ce ne sera viable que pour une quantité de tests relativement faible


<script>
  if($("html").hasClass("no-svg")){
	  $("head").append('<script type="text/javascript" src="js/monJsQuiRemplaceLeSvgEnPng.js"/>');
  }
</script>


à bientôt pour de nouvelles aventures Smiley smile
Bonjour.

Comme expliqué plus haut $.getScript("js/monJsQuiRemplaceLeSvgEnPng.js") sera je pense plus propre.
à priori, le getscript permet de charger le fichier en fin de page html au lieu de le charger dans le head...

merci!