Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Cambiare un filmato swf con javascript

    Salve, ho inserito un filmato flash in una pagina web utilizzando macromedia dreamweaver 8 che ha provveduto ad inserire l'opportuno codice html, compreso il tag "embed" che permette la visualizzazione anche con mozilla. Ora al click su un link vorrei cambiare il filmato in questione e per fare questo ho utilizzato una funzione javascript, procedendo in maniera similare alla sostituzione di un'immagine, ovvero accedendo al dom per poi cambiare il valore dell'opportuno attributo dello specifico elemento.
    E' inutile che vi dica che non funziona, ma non voglio per ora scendere nei dettagli perché ho l'impressione di aver preso una strada sbagliata...

    Da dove inizio....

    Grazie...Ciao

  2. #2
    Sembrerà strano, ma l'elemento embed non ha mai fatto parte di alcuna specifica ufficiale W3C. Da ciò risulta evidente che non fa parte degli standard.

    Ora, Mozilla è tra le case più attente alla compatibilità W3C, quindi la tua affermazione risulta un po' traballante. Infatti è dimostrato che embed non è più necessario:

    - http://www.alistapart.com/articles/byebyeembed/

    Prendiamo un codice d'esempio:

    codice:
    <object id="animazione" type="application/x-shockwave-flash" data="movie.swf">
      <param name="movie" value="movie.swf" />
    </object>
    potresti provare così:

    codice:
    var animazione = document.getElementById('animazione')
    var parametro = animazione.getElementsByTagName('param').item(0)
    
    animazione.setAttribute('data', 'nuovo_percorso') 
    parametro.setAttribute('value', 'nuovo_percorso')
    Non ho mai provato, quindi fammi sapere.

  3. #3
    Per quanto riguarda il tag embed:

    <object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" name="nomePaese" id="nomePaese" width="300" height="300">
    <param name="src" value="australia.swf">
    <!-- <embed src="australia.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="300" id="nomePaeseEmbed" >
    </embed>-->
    </object>

    se non tolgo il commento a embed mozilla 1.5.0.6 non visualizza il filmato.

    Ora provo comunque la soluzione per l'explorer..

  4. #4
    Ma hai letto la risorsa che ti ho indicato? Il codice standard e compatibile per inserire un oggetto flash è il seguente:

    codice:
    <object type="application/x-shockwave-flash" data="australia.swf">
      <param name="movie" value="australia.swf" />
    </object>

  5. #5
    Ho provato:

    <object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="300" height="300" data="australia.swf">

    <param name="movie" value="australia.swf">

    <!--<embed src="australia.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="300" id="nomePaeseEmbed" >
    </embed>-->

    </object>

    e con mozilla non ne vuole sapere..

  6. #6
    Ancora?! Uè, ma hai letto la risorsa che ti ho linkato? Hai visto che il codice che ti ho proposto è diverso dal tuo???

  7. #7
    Ok, con il tuo codice funziona in entrambi, ora provo a cambiare con javascript il filmato e ti faccio sapere...
    Grazie..
    Ciao

  8. #8
    Allora: nella pagina html ho il seguente codice:

    <object id="album" type="application/x-shockwave-flash" data="australia.swf" width="300" height="300">
    <param name="movie" value="australia.swf" />
    </object>

    Il codice javascript messo in una funzione lanciata dopo un click:

    var animazione = document.getElementById('album');
    var parametro = animazione.getElementsByTagName('param').item(0);

    animazione.setAttribute('data','australia2.swf');
    parametro.setAttribute('value','australia2.swf');

    alert(parametro.getAttribute('value'));

    Ottengo la finestrella di popup con scritto australia2.swf, ciò fa pensare che
    la modifica del valore del tag è stata effettuata
    ma purtroppo l'swf non viene cambiato...

    Potete aiutarmi...

  9. #9

    Alternativa

    Ho deciso di utilizzare un approccio alternativo tramite la libreria "swfobject",
    ho risolto il problema e essa offre anche ulteriori vantaggi, ulteriori info a
    "http://blog.deconcept.com/swfobject/".
    Ciao

  10. #10
    scusate ho visto questo post e penso che faccia proprio al caso mio, però non essendo molto abile in javascript non ho capito come inserire il seguente codice in una funzione?

    var animazione = document.getElementById('animazione')
    var parametro = animazione.getElementsByTagName('param').item(0)

    animazione.setAttribute('data', 'nuovo_percorso')
    parametro.setAttribute('value', 'nuovo_percorso')

    a questo punto come faccio a richiamare gli attributi data e value nel link?
    La sintassi che ho sempre usato per sostiuire le immagini al click era la seguente

    onClick=document.getElementById('ID').src='img_da_ sostituire.jpg'
    e sull'immagine la stessa ID [img]img_iniziale.jpg[/img]

    come faccio a fare il tutto con gli swf e non con le immagini?

    Forse sono stato un po' confuso, però spero mi abbiate capito.

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.