IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Tester la présence de WEBGL


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2013
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 94
    Par défaut Tester la présence de WEBGL
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="js/Detector.js"></script>
    <script src="js/Checkout.js"></script>
    (dans la page HTML)

    contenu de 'Checkout.js':
    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 );
    }
    Ca fonctionne à peut prêt mais j'ai quelques remarques questions:

    • 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).

  2. #2
    Membre chevronné Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Par défaut
    que le fichier n'apparaisse pas dans la source est normal s'il est ajouté via javascript.
    Par contre il doit apparaitre dans l'inspecteur du DOM.

    pour être sûr du bon fonctionnement de ta page, s'il y a une méthode à appeler après le chargement du script, tu peux le faire via un écouteur onload qui lance une fonction de post-traitement.

    sinon ça m'a l'air ok, bien que je ne connaisse pas detector.js

  3. #3
    Membre confirmé
    Inscrit en
    Février 2013
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 94
    Par défaut
    Merci pour cette réponse.
    Effectivement le débuggeur DOM fonctionne très bien et je vois bien le bout javascript apparaitre.
    Chose étrange l'animation ne fonctionne toujours pas alors que le code source reste inchangé avec l'ajout du script par Checkout.js...

    Edit: en me passant de Checkout et en balancant un if ( Detector.webgl ) { ... } tout se passe correctement.

Discussions similaires

  1. tester la présence des parametres
    Par Delphi-ne dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2005, 20h51
  2. VBA - Tester la présence d'un composant
    Par n1portki dans le forum Général VBA
    Réponses: 1
    Dernier message: 20/09/2005, 05h18
  3. Comment tester la présence de machine ?
    Par bluesnr dans le forum Web & réseau
    Réponses: 9
    Dernier message: 22/04/2005, 17h20
  4. [JSP]Tester la présence d'un attribut
    Par StagiaireEnGalère dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 08/02/2005, 09h35
  5. Réponses: 11
    Dernier message: 02/04/2004, 18h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo