Souhaitez-vous participer à la création d'un jeu vidéo inspiré de Stardew Valley, ou le tester lorsque la version bêta sera disponible ? Remplissez notre sondage ou inscrivez-vous à notre lettre d'information (en bas de page)
1

Générer du code HTML au clic d'un bouton

le 28-01-2013 à 18:35 #
Bonjour à tous,

J'ai un lecteur audio qui s'affiche par un script en javascript de type :

<div>
<script type="text/javascript" src="lelien"></script>
</div>

Par défaut, le lecteur est en autoplay, je ne peux pas le modifier.

Je voudrais que ce lecteur ne s'affiche et ne démarre seulement que lorsque l'utilisateur cliquera sur un bouton ou un lien.

Comment faire ?!
Je vous remercie d'avance pour votre aide.
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 18:44 #
Salut,

L'idéal serait de prendre un autre lecteur. Si vraiment tu ne peux pas, tu peux générer le javascript au clic, par exemple en faisant quelque chose comme :

<input type='button' value='musique' onclick='musique()'>

<script>
function musique(){
document.write("<scr"+"ipt type='text/javascript' src='lelien'></scr"+"ipt>");
}
</script>

Tu pourrais aussi tenter de passer par innerHTML

Ben
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 19:36 #
Bonsoir Ben,

Avec function musique, lorsque je clique sur le bouton, j'attéris sur une page entièrement blanche.

Pour le inner, je vois tout à fait comment ça fonctionne mais comment j'injecte mon code dans la fonction s'agissant d'un script ?!
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 19:47 #
En gros tu crées un div dans ton document, p.ex <div id='musique'></div>

puis tu appelles :

document.getElementById('musique').innerHTML="<scr"+"ipt type='text/javascript' src='lelien'></scr"+"ipt>";

Mais dans tous les cas, c'est du bidouillage, l'idéal serait d'utiliser un lecteur moderne qui se contrôle via javascript, p.ex Dewplayer.
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 20:27 #
Ok, même avec le inner ça me ramène vers une page blanche ...
Sûrement à cause du lien ?! Je ne vois pas pourquoi ça ne fonctionne pas.

Le lien : http://cdn.voscast.com/player/?key=4bd8f28cc3998a72376d68359eb6b74b

J'ai beau faire des tests en local, rien ne s'affiche. Je suis peut-être tordu mais là je ne vois pas !
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 20:31 #
Tu ne peux pas inclure directement le code dans ta page ?

<input type='button' value='musique' onclick='musique()'>



<script>
function isHTML5() { var node = document.doctype; if (node===null){ return false; } else { return node.name == 'html' && !node.publicId && !node.systemId; }}
function musique(){
if ( !isHTML5() && ( /MSIE/gi.test(navigator.userAgent)) ){
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="150" height="30" id="play" align="top"> <param name="allowScriptAccess" value="always" /> <param name="movie" value="http://cdn.voscast.com/resources/player.swf" /> <param name="quality" value="high" /> <param NAME=FlashVars VALUE="stream1=http://s9.voscast.com:7256/&stream2=http://s9.voscast.com:7256/" /><embed src="http://cdn.voscast.com/resources/player.swf" width="150" height="30" quality="high" name="play" align="top" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="stream1=http://s9.voscast.com:7256/&stream2=http://s9.voscast.com:7256/"/></object>');
}else{
document.write('<iframe src="http://cdn.voscast.com/player/player.php?host=s9.voscast.com&port=7256" width="150" height="30" frameborder="0" scrolling="no"></iframe>');
}
}
</script>
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 20:49 #
Test en local et en ligne, rien ne se passe quand je clique sur le bouton.
Tu l'as essayé et ça marche ? Parce qu'au niveau du fonctionnement je vois, mais ne comprends pas pourquoi ça ne marcherait pas !
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 21:31 #
Chez moi ça marche. Sans voir ton code, je ne peux pas dire.
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 21:44 #
Chez moi ça marche aussi.
Même si c'est noyé dans un morceau de code.




Ajout du 28-01-2013 à 22:31:


Le 28-01-2013 à 19:47, @ben :

Dewplayer.

Excellent.


Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 23:30 #
Dewplayer je veux bien, mais c'est un flux audio que j'ai, ça ne marchait plus une fois en ligne.

Voilà ce que j'ai écris :
test_player.html

On déclare la fonction dans le head et on fait appel à celle-ci au clic sur le bouton non ?! Sinon je veux bien que vous me disiez où j'ai foiré parce que je suis aveugle là ; puisque de toutes façons le code est faux, je me doute, y'a des redondances ...
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 23:46 #
T'as un script qui déclare une fonction pour écrire le code d'un autre script qui déclare une fonction du même nom pour écrire le code qui ouvre l'iframe qui fait de la musique ... Ça devient trop récursif pour moi ton affaire

Commence par reprendre le code que j'ai donné tel quel, si ça marche tu pourras essayer de modifier.

Sinon, ce service payant pour les flux audio offre du support, ils ne peuvent pas te donner une version sans l'autoplay ?
Re: Générer du code HTML au clic d'un bouton
le 28-01-2013 à 23:51 #
Très bien, je vais gratter ce code alors !

Ça fait 3 fois que je les contacte, ils ne veulent rien savoir, ils ont un player et c'est tout ! Ils peuvent juste dire comment l'insérer, c'est tout ! Soit-disant qu'il n’existe qu'une version !

Merci pour l'aide, je tiens au courant du coup, jusqu'à ce que j'y arrive alors ^^


<-- EDIT -->
Ah punaise ça y est !
Donc déclarer mes 2 fonctions dans le Head, dans le Body faire appel à la première fonction pour ensuite faire appel à la seconde lorsque l'utilisateur clique.

Merci beaucoup Ben !


(Modifié par Bambinou le 28-01-2013 à 23:56)

Ajout du 29-01-2013 à 00:32:

Ah non, j'ai encore un soucis ...
Le code se génère dans une nouvelle page, c'est pour ça que j'avais une page blanche quand ça n'affichait rien. Je voudrais que le lecteur s'affiche à la place du bouton ... C'est possible ça ?!
Re: Générer du code HTML au clic d'un bouton
le 29-01-2013 à 00:37 #
edit: ok ceci devrait fonctionner




<div id='musique'><input type='button' value='musique' onclick='musique()'></div>

<script>
function isHTML5() { var node = document.doctype; if (node===null){ return false; } else { return node.name == 'html' && !node.publicId && !node.systemId; }}
function musique(){
if ( !isHTML5() && ( /MSIE/gi.test(navigator.userAgent)) ){
document.getElementById('musique').innerHTML='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="150" height="30" id="play" align="top"> <param name="allowScriptAccess" value="always" /> <param name="movie" value="http://cdn.voscast.com/resources/player.swf" /> <param name="quality" value="high" /><param NAME=FlashVars VALUE="stream1=http://s9.voscast.com:7256/&stream2=http://s9.voscast.com:7256/" /><embed src="http://cdn.voscast.com/resources/player.swf" width="150" height="30" quality="high" name="play" align="top" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="stream1=http://s9.voscast.com:7256/&stream2=http://s9.voscast.com:7256/"/></object>';
}else{
document.getElementById('musique').innerHTML='<iframe src="http://cdn.voscast.com/player/player.php?host=s9.voscast.com&port=7256" width="150" height="30" frameborder="0" scrolling="no"></iframe>';
}
}
</script>


Ajout du 29-01-2013 à 00:39:

voilà, ça devrait le faire...

(Modifié par ben le 29-01-2013 à 00:42)
Re: Générer du code HTML au clic d'un bouton
le 29-01-2013 à 01:17 #
J'avais vu ça qu'on pouvait attribuer à un seul DIV avec getElementById mais je ne pense pas que j'aurais sorti ça comme ça !

C'est super ! Ça marche nickel, c'est exactement ce que je cherchais désespérément à obtenir, en plus j'ai compris, je suis en mode heureux !

Merci infiniment Ben d'avoir passé de ton temps sur mon problème, c'est vraiment gentil de ta part. Je te souhaite une agréable soirée =)




Ces discussions pourraient vous intéresser également:


une application pour générer du code HTML/CSS3
Code HTML
code HTML
Code HTML Musiques
pb création de code html