Bonjour à toutes et à tous,
Je me permets d'écrire car je cherche une solution à mon problème. Je suis un peu nouveau à Javascript et ma question est peut être quelque chose de trivial, mais je n'ai pu en trouver trace dans les forums. Je cherche en fait à tester si WEBGL est disponible à partir d'un fichier HTML (l'index de base). Il existe un fichier javascript très bien (Detector.js) qui fait un super boulot, et qui sort une balise sur la page si le WBGL n'est pas disponible. Je suppose que ce fichier est connu quoique un peu ancien (il existe peut être d'autres alternatives?).
Je souhaiterais en fait modifier ce fichier pour qu'au lieu qu'un message 'envahissant' s'affiche, il charge un fichier de script différent. En gros si le client à le WEBGL c'est un fichier 'toto.src' qui s'exécute alors que sinon il n'y a aucun fichier particulier à exécuter (ou il faudra que je modifie le background en fonction). Ce que j'ai fais jusqu'à présent: le script Detector.js est appelé et ensuite je charge un script supplémentaire 'Checkout.js' qui va se charger d'incorporer un élément dans le body pour faire appel à un autre script:
(dans la page HTML)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <script src="js/Detector.js"></script> <script src="js/Checkout.js"></script>
contenu de 'Checkout.js':
Ca fonctionne à peut prêt mais j'ai quelques remarques questions:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if ( Detector.webgl ) { var element = document.createElement( 'script' ); element.src = 'js/Particules.js'; document.body.appendChild( element ); }
- Le script est chargé mais il n'apparait dans le code source de la page HTML générée... Est-ce normal ?
- J'ai une animation en CSS qui se charge en début de page et lorsque j'applique ma méthode, eh bien cette animation n'existe tout simplement plus... Je me dis que la balise insérée par la page Checkout.js n'est pas bonne ou placée au bon endroit ?
- Ce n'est sans doute pas très élégant, est-ce la bonne méthode?
Merci par avance à ceux qui pourront me répondre,
Grass
Edit 1: je crois avoir trouver en partie une solution: le document.body.appendChild doit sans doute placer le script à un endroit étrange (je ne trouve pas ou encore, mais j'y travaille).
Partager