Visualizzazione dei risultati da 1 a 4 su 4

Discussione: lettore mp3

  1. #1

    lettore mp3

    salve a tutti.

    Ho trovato questo script molto carino e semplice da capire per i neofili per avere un lettore mp3 in javascript:
    Codice PHP:
    <html>
    <
    head>
    <
    SCRIPT LANGUAGE="JavaScript">
    titolo= new Array('brano0.mp3''brano1.mp3');
    var 
    codice=""
    function estrai() {
    codice='<embed src ="percorso/'+titolo[brano.value]+'"><p align=center>Ascolta il brano numero '+brano.value ' dal titolo 'titolo[brano.value]+'</p>';
    if(
    document.all)
    {
    document.all('musica').innerHTML=codice;
    }
    else if(
    document.getElementById){
    document.getElementById("musica").innerHTML =codice
    }
    else {
    alert("Il tuo browser non supporta questo metodo")
    }
    }
    </script>
    </head>
    <body onload="estrai()">
    <select name=brano onChange="estrai()">
    <option value="0" selected>brano0
    <option value="1">brano1
    </select>
    <span id="musica"></span>
    </body>
    </html> 
    Ma ce da dire che anche se vi è la funzione per altri browser a me funziona solo con Explore, con firefox e safari no mi dite come mai???

  2. #2
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530

    Accesso all' oggetto

    Sì, c'è la condizione per getElementById (document.all è solo per MSIE) e rimane valida per puntare allo span id="musica" ma resta il fatto che gli altri Browser non trovano la select name=brano con la sola indicazione di brano.value

    Lo puoi constatare piazzando questo alert ad inizio funzione e testando coi diversi Browser:
    codice:
    function estrai() {
    alert(brano.value);
    // ecc. ecc.
    IExplorer stamperà correttamente nell' alert il numero di VALUE che proviene dalle OPTION
    Con gli altri nessun pop-up di alert; non può nemmeno ritornare undefined ma blocca proprio tutto lo script.
    Difatti qua, il secondo alert partirà solo se togli (o commenti //) il primo:
    codice:
    function estrai() {
    alert(brano.value); //blocca firefox e safari
    alert('hello');

  3. #3
    si giusto quello che dici ma ce una condizione se hai visto quindi trovato document.all saltavano il comando.
    Comunque ho fatto queste modifiche:

    Codice PHP:
    <script type="text/ecmascript">
    <!--
    function song(mp3){
        if(mp3!=""){
            var elmp3=document.getElementById("lettore");
            var elart=document.getElementById("artista");
            var tag="<embed src=\"toni cell/" + mp3 + "\" width=\"280\" height=\"25\">";
            var artista=mp3.split(".");
            elmp3.innerHTML=tag;
            elart.innerHTML=artista[0];
        }
    }
    //-->
    </script>
            
    </head>

    <body>
    <?php 
    $arrfile
    = array();
    $dir="toni cell";
    $cartella=opendir($dir);
    while(
    $file=readdir($cartella)){
        if(
    $file!="." && $file!=".."$arrfile[]=$file;
    }
    foreach(
    $arrfile as $filetxt){
        print 
    "<a href=\"javascript:song('$filetxt')\">$filetxt</a>
    "
    ;
    }
                  
    ?>
    <table width="280" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><span id="lettore"></span></td>
      </tr>
      <tr>
        <td bgcolor="#000000"><marquee behavior="scroll" direction="left" onmouseover="this.stop()" onmouseout="this.start()" scrollamount="3" scrolldelay="5"><span id="artista" style="font-family:Tahoma, Geneva, sans-serif; color:#F00"></span></marquee></td>
      </tr>
    </table>
    e non so il perchè con firefox va benissimo mentre con IE mi da l'artista in id="artista" ma il breno non lo fa ascoltare ma me lo scarica mi scrica il file mp3

  4. #4
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    Ritorno sul primo che hai postato, che così rivisto funziona con tutti i Browser:
    codice:
    <html>
    <head>
    <script language="JavaScript" type="text/javascript">
    
    var titolo = new Array('brano0.mp3', 'brano1.mp3');
    var codice="";
    
    function estrai() {
    
    var quale = document.forms[0].elements["brano"].value;
    codice = '<embed src="percorso/' + titolo[quale] + '"><p align="center">Ascolta ' +
             'il brano numero ' + quale + ' dal titolo ' + titolo[quale] + '</p>';
    
    if(document.all)
    {
    document.all('musica').innerHTML = codice;
    }
    else if(document.getElementById){
    document.getElementById("musica").innerHTML = codice;
    }
    else {
    alert("Il tuo browser non supporta questo metodo"); //NN4
    };
    }
    </script>
    </head>
    <body onload="estrai()">
    
    <form>
    <select name="brano" onChange="estrai()">
     <option value="0" selected>brano0
     <option value="1">brano1
    </select>
    </form>
    <span id="musica"></span>
    
    </body>
    </html>
    Hai fatto bene a postarlo, per le ragioni già dette.
    In pratica ora, accedo alla SELECT in quanto Elemento di un FORM.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.