11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je travail sur un panneau d'adminstration utilisant l'AJAX pour la connexion et (pour le style) je voulais lui ajouter un petit son qui joue lorsqu'on se connecte (oui, comme dans Windows ou certaines versions de MacOS).
Je souhaitais que ce son ne dépende sur aucun plugin comme je n'avais trouvé seulement que des solutions utilisant soit QuickTime, soit Flash. J'ai (je crois avoir) trouvé une solution: le tag <embed>, car il semblait fonctionner sur des "fresh install" de Firefox. Votre opinion sur le sujet?

Je pensais donc tout simplement me faire quelque chose comme
-Premièrement, je crée mon tag et la piste dans un argument de ma fonction, avec (par exemple) id="soundFile" et avec les attributs "autostart" et "hidden" du tag. Ensuite, je pourrai faire
Sound = document.getElementById("soundFile");
Sound.Play(); 


Bon, ce n'est pas très élaboré et ça a besoin d'être étoffé Smiley biggol mais pour l'instant, vos réactions, opinions, idées,...?

Merci beaucoup!
FoxLeader
Modifié par FoxLeader (09 Mar 2008 - 00:04)
Salut,

Un son ne peut pas être lu "tout seul". Si tu utilise le tag embed ou object, le navigateur va tenter de lire le son avec le lecteur par défaut du système (me semble-t-il, et du coup on ne sait absolument pas si le son sera lu et par quoi). Malheureusement (ou heureusement, faut voir...) la meilleur solution est d'utiliser un lecteur flash, le plugin flash étant le plus répandu toutes combinaisons systèmes/navigateurs confondues.
Oui, tu as raison... donc il n'y a, à ton avis, aucun moyen qui est plus "cross-platform" et "cross-browser" que Flash?
Dans le sens que même s'il utilise un plugin, il n'y a pas de problème, mais il faudrait juste que ce ne soit pas sur un plugin en particulier. Un bon exemple: dans mon établissement d'enseignement, on utilise Firefox mais il est impossible d'y installer Flash. La seule façon de l'avoir est de l'installer à la maison sur Firefox Portable et de le copier dans mes documents... Je ne doute pas que ce soit similaire pour de nombreux lieux de travail...
FoxLeader a écrit :
Oui, tu as raison... donc il n'y a, à ton avis, aucun moyen qui est plus "cross-platform" et "cross-browser" que Flash?

C'est à mon humble avis aujourd'hui le cas... en esperant d'ailleurs que cela change un jour, bien que je vois mal les navigateurs se mettre tous d'accord. Un petit flash est bien ce qui a le plus de chance d'etre lu et d'etre controlé par Javascript (puisqu'en fait on choisi le lecteur qui repose lui sur un plugin, au lieu de laisser le choix au navigateur/système).

FoxLeader a écrit :
Dans le sens que même s'il utilise un plugin, il n'y a pas de problème, mais il faudrait juste que ce ne soit pas sur un plugin en particulier. Un bon exemple: dans mon établissement d'enseignement, on utilise Firefox mais il est impossible d'y installer Flash. La seule façon de l'avoir est de l'installer à la maison sur Firefox Portable et de le copier dans mes documents... Je ne doute pas que ce soit similaire pour de nombreux lieux de travail...


S'il s'agit d'un application développée en intranet on peut se permettre d'exiger au minimum la configuration par défaut des postes du parc informatique.

S'il s'agit plutot d'un site web, il vaut mieux préférer la solution Flash, ce qui n'empeche pas de faire la détection de la présence du plugin et dans le cas ou il n'est pas présent, laisser la possibilité d'utiliser la balise object et laisser le navigateur/système se dépatouiller avec son object...
Salut,

La dernière monture de Scriptaculous intègre un objet 'Sound'. Il n'y a rien de miraculeux dans ce qu'il fait mais ce peut être un point de départ.
Scriptaculous est une usine à gaz et je pense qu'il ne fait rien de plus qu'insérer à la volée dans le DOM une balise object ou embed... à voir cependant.
Je vais aller voir du côté de Scriptaculous. Peut-être que j'y trouverai des pistes intéressantes que je pourrai appliquer à ma situation, mais je n'utiliserai pas le framework en lui-même. J'ai adopté Mootools et je ne changerai (ou n'ajouterai) pour rien au monde Smiley lol

Il s'agira d'un site Web. À la base, c'est surtout une expérimentation pour moi-même (dans mes futurs "labs") afin d'approfondir mes connaissances cependant avec cet ensemble, je crée des fondations qui pourront sans aucun doute m'être utiles dans de "vrais" projets.

skywalk3r, je lis ton post qui suggère une détection des plugins et vraiment, je me demande comment je n'y ai pas pensé plus tôt... Je crois que c'est là que réside la meilleure solution. Merci beaucoup Smiley smile

Cordialement,
FoxLeader