En Javascript modification attributs de la balise <param&

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
HPz
Arias
Messages : 14
Inscription : 01 août 2005, 17:05

En Javascript modification attributs de la balise <param&

Message par HPz »

Merci pour ton commentaire qui m'éclaire de plus en plus sur les arcanes presentées par les différents navigateurs. Je ne voudrais pas abuser de ton temps, mais à bon prof, mauvais élève, c'est pour ce dernier le meilleur moyen de se bien se faire tout expliquer.
Voici une autre de mes moutures que j'aimerais que tu examines:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/transitional.dtd">
<html>
<head>
<title>Index</title>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<script language="JavaScript" type="text/JavaScript">
function EmmSon(Rang)
{
document.getElementById('Etg'+Rang).Play();
}
</script>
</head>
<body>

<!-- Cartographie de l'image des boutons de sonnette -->

<map name="Sonnette">
<area shape="circle" coords="16,22,8" href="JavaScript:EmmSon(1)" alt="">
<area shape="circle" coords="16,54,8" href="JavaScript:EmmSon(0)" alt="">
</map>
<table width="100%">
<tr>
<td>

<!-- Affichage de l'image des boutons de sonnette en attente de clic -->

<center>
<img height="77" width="172" border="0" src="Sonnette.gif" usemap="#Sonnette" alt="">
</center>

<!-- Incorporation des sons avec leurs URL -->

<embed id="Etg1" src="Sonnette-1.au" autostart=false loop=false hidden=true>
<embed id="Etg0" src="Sonnette-0.au" autostart=false loop=false hidden=true>

</td>
</tr>
</table>
</body>
</html>


Comme tu vois, j'essaye ici l'élément "embed" et j'appelle en JavaScript l'un ou l'autre directement par son identificateur dans ce cas 'Etg0' ou 'Etg1'. Cela fonctionne aussi bien en local qu'en ligne et, comme tu le signales il n'y a pratiquement pas de temps de latence lorsque l'on clique sur les boutons de sonnette.
Ce code est bien sûr réfuté par w3c.org qui ne reconnait pas l'élément "embed".
Cependant, une question, les visiteurs qui n'ont pas QuickTime installé entendront-ils quelque chose? non, vraisemblablement... Alors que faire, y incorporer le test que tu préconises concernant document.getElementById et transmettre un message à ceux qui auront des navigateurs non-compatibles. Je me pose la question.

J'espère ne pas trop te déranger

HP
HPz
Arias
Messages : 14
Inscription : 01 août 2005, 17:05

Modif des attributs d'une balise <param>

Message par HPz »

Voilà, je pense que maintenant tout fonctionne comme sur des roulettes. Voici le code avec autant d'objets que de sonneries. Aucun problème, IE, NS, Mozilla et Firefox fonctionnent en local comme en ligne.
D'autre part, effectivement, comme tu le supposais, le temps de latence lors d'un clic est pratiquement, nul. On a vraiment l'impression d'appuyer sur le bouton.
Voici le code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/transitional.dtd">
<!-- Validé par w3c.org le 11.08.05 -->
<html>
<head>
<title>Index</title>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<script language="JavaScript" type="text/JavaScript">
function EmmSon(Rang)
{
var ObjetSon;
var IdObj = "Obj-"+Rang;
if (document.getElementById(IdObj+"IE"))
{
ObjetSon = document.getElementById(IdObj+"IE");
}
else
{
ObjetSon = document.getElementById(IdObj);
}
ObjetSon.Play();
}
</script>
</head>
<body>

<!-- Cartographie de l'image des boutons de sonnette -->

<map name="Sonnette">
<area shape="circle" coords="16,22,8" href="JavaScript:EmmSon(1)" alt="">
<area shape="circle" coords="16,54,8" href="JavaScript:EmmSon(0)" alt="">
</map>
<table width="100%">
<tr>
<td>

<!-- Affichage de l'image des boutons de sonnette en attente de clic -->

<center>
<img height="77" width="172" border="0" src="Sonnette.gif" usemap="#Sonnette" alt="">
</center>

<!-- Liste des objets-son en attente d'activation -->

<div>
<object id="Obj-0" type="audio/basic" data="Sonnette-0.au" height="1" width="1">
<param name="filename" value="Sonnette-0.au">
<param name="loop" value="false">
<param name="autostart" value="false">
<!--[if IE]>
<object id="Obj-0IE" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="1" height="1">
<param name="filename" value="Sonnette-0.au">
<param name="loop" value="false">
<param name="autostart" value="false">
<param name="src" value="Sonnette-0.au">
</object>
<![endif]-->
</object>
<object id="Obj-1" type="audio/basic" data="Sonnette-1.au" height="1" width="1">
<param name="filename" value="Sonnette-1.au">
<param name="loop" value="false">
<param name="autostart" value="false">
<!--[if IE]>
<object id="Obj-1IE" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="1" height="1">
<param name="filename" value="Sonnette-1.au">
<param name="loop" value="false">
<param name="autostart" value="false">
<param name="src" value="Sonnette-1.au">
</object>
<![endif]-->
</object>
</div>
</td>
</tr>
</table>
</body>
</html>


Tu le trouveras en ligne, toujours à la même adresse.

Pourrais-tu me dire aussi ce que tu penses du code que tu trouveras en:

http://perso.wanadoo.fr/henri.pouzoulli ... 11-08.html

Il fonctionne, lui-aussi, mais, là, j'utilise des éléments "embed" au lieu des éléments "object".
J'aimerais bien connaître ton point de vue...

Pourrais-tu me dire où tu as déniché la fonction Play() avec son P majuscule obligatoire. J'ai fait une recherche sur le web où je trouve autant de play() que je veux mais avec un p minuscule qui, lui, ne fonctionne pas.
Merci d'avance
HP
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités