Autor Zpráva
UrbiCZ
Profil
Čau, chtěl bych spustit při načtení sajty náhodný song. Nějak se nemůžu poprat s HTML uvnitř javascriptu (otazníky v závorce). Soubor se jmenuje darling1 a darling2. Pokud náhodné číslo v proměnné a bude 1, tak se spustí darling1, atd.....zkoušel jsem to přes tag audio a soubory jsou formátu mp3. Chrome v pohodě mp3 spustí, ale nejde to :)......díky za rady


<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com"&gt;
  <title></title>
  <script language="javascript">
  
   function hrej(){
   
   a = Math.round(Math.random()*1)+1;
   document.write(????????);
   
   
   }
  
  </script>
  </head>
  <body onLoad="hrej();">
     
  </body>
</html>
Witiko
Profil
Tag audio je součástí HTML 5 a jako takový ještě není některými prohlížeči (MSIE 8- a starší prohlížeče) podporován. Navíc je tu problém, že část prohlížečů odmítá přehrávat cokoliv jiného, než ogg. Jinak script by vypadal asi takto:

<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com"&gt;
  <title></title>
  <script language="javascript">
   var songy = [song1, song2, song3];
   
   function pick(pole) {
     return pole[Math.ceil(Math.random() * pole.length)-1];
   }
  
   function hrej(){
     var audio = window.Audio?new Audio:document.createElement("audio");
     audio.src = pick(songy);
     audio.play();
   }
  
  </script>
  </head>
  <body onload="hrej();">
     
  </body>
</html>


Samozřejmě tenhle kód doporučuji jen pokud hrej() hodláš volat jednou. Jinak bych kód rozdělil, aby se tvořil element audio jen jednou. Taky z mých testů mám odzkoušeno, že element audio není třeba appendovat do dokumentu, aby začal hrát.

Dle dokumentace je také možné si připojit na element spousty událostí, problém je, že co jsem zkoušel, tak mi nikdy nefirenuly. onloaded a onended kupříkladu. Ani připojení k tělu dokumentu a zavolání metody load nic neřešilo. Tak nevím, kde je chyba. :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: