Visualizzazione dei risultati da 1 a 9 su 9

Discussione: innerHTML e Flash

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110

    innerHTML e Flash

    Ho cercato se ne avete già parlato ma non mi pare di averlo visto.
    Quindi pongo il problema.
    Ho il mio bel div, vuoto, dentro al quale devo inserire un documento flash.

    Ho creato una funzione (che richiamo al click su un link):

    function put_flash (sezione) {
    var sezione_flash = sezione;


    document.getElementById('flash').innerHTML = '<script language="JavaScript" type="text/javascript">'
    + '<!-- '
    + 'var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);'
    + 'if(hasRightVersion) { // se è stata rilevata una versione accettabile'
    + ' var oeTags = \'<object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000"\''
    + ' + \'width="320" height="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">\''
    + ' + \'<param name="movie" value="swf/'+sezione_flash+'" />\''
    + ' + \'<param name="quality" value="high" />\''
    + ' + \'<param name="bgcolor" value="#ffffff" />\''
    + ' + \'<embed src="swf/'+sezione_flash+'" quality="high" bgcolor="#ffffff" width="320" height="320" name="slide01" align="middle"\''
    + ' + \'play="true"\''
    + ' + \'loop="false"\''
    + ' + \'quality="high"\''
    + ' + \'allowScriptAccess="sameDomain"\''
    + ' + \'type="application/x-shockwave-flash"\''
    + ' + \'pluginspage="http://www.macromedia.com/go/getflashplayer">\''
    + ' + \'<\/embed>\''
    + ' + \'<\/object>\';'
    + ' document.write(oeTags); // incorpora il filmato Flash'
    + ' } else { // la versione di Flash è troppo vecchia o non è possibile rilevare il plug-in'
    + ' var alternateContent = \'Il contenuto HTML alternativo deve essere posizionato qui.\''
    + ' + \'Questo contenuto richiede Macromedia Flash Player.\''
    + ' + \'<a href=http://www.macromedia.com/go/getflash/>Ottieni Flash</a>\';'
    + ' document.write(alternateContent); // Inserisci contenuto non Flash'
    + ' }'
    + '// -->'
    + '</script>'
    + '<noscript>Questo contenuto richiede Macromedia Flash Player.Ottieni Flash'
    + '</noscript>'
    }
    Ora, questo script sembra funzionare, perchè se controllo il sorgente dell'html risultante è tutto ok.
    E' perfettamente identico che se inserissi il flash a manina dentro al div.

    Solamente che in questo modo non funziona, il flash non si vede!!

    Qualcuno ha idea di come risolvere sta cosa?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    Ehm..lo script ion realtà è leggermente diverso, ma me lo modifica qnd posto.
    Cmq non ha gli errori che avreste adesso mettendolo dentro ad un .js.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    6
    stesso problema non è che per caso qualcuno sa come fare?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il problema non e' inserire flash ma inserire e far eseguire blocchi di script a caricamento terminato,
    non e' che perche' si "scrive" in un elemento uno script con tanto di <script></script> questo verra' eseguito

    tra l' altro ci sono altre ingenuita' in quel codice:
    </script> non spezzato
    document.write richiamato a rendering terminato
    ...
    non vale la pena considerarlo piu' di tanto

    quello che vuoi e' inserire un filmato flash?
    usa i metodi del DOM

    es. terra terra
    codice:
    var dv=document.getElementById('id_elemento_a_cui_appendere_swf');
    if(!document.all){
    	var ob=document.createElement('object');
    	ob.setAttribute('type','application/x-shockwave-flash');
    	ob.setAttribute('data','/percorso/file.swf');
    	ob.setAttribute('width','100%');
    	ob.setAttribute('height','100');
    	var p1=document.createElement('param');
    	p1.setAttribute('movie','/percorso/file.swf');
    
    	ob.appendChild(p1);
    } else {
    	var ob=document.createElement('embed');
    	ob.setAttribute('type','application/x-shockwave-flash');
    	ob.setAttribute('src','/percorso/file.swf');
    	ob.setAttribute('width','100%');
    	ob.setAttribute('height','100');
    }
    dv.appendChild(ob);
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    6
    ho provato con il tuo codice Xinod, lo ho inserito nella porzione della pagina "fissa" mentre all'interno del div dove sostituisco il contenuto ho messo il div a cui fà riferimento il DOM ma niente...
    solita questione che hai spiegato te il filmato flash non si vede ma se salvo la pagina e la apro compare magicamente...

    altre soluzioni per eseguire lo script a caricamento della pagina terminato?

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    lascia un link

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    6
    ecco il link http://vsk3worldleague.altervista.org/indexmenu.php il sito lo ho preso in mano da poco cmq dal menu y league e poi one night cup proprio in cima al div c'è un filmato flash se salvi e lo apri in remoto lo vedi altrimenti nisba :master:

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ho omesso cose scontate che a quanto pare scontate non sono

    chiaramente non puoi richiamare quello script nudo e crudo,
    va in una funzione, la funzione va richiamata a tempo debito, sostituire questo 'id_elemento_a_cui_appendere_swf' con un id sicuramente gia' esistente nella pagina al momento dell' escuzione dello script...

    poi, il sito e' completamente inaccessibile, abuso gratuito di ajax,
    se non sai bene dove mettere le mani e' anche per questo


  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    6
    Scusami Xinod avevo postato il link sbagliato che figuraccia sono stato pieno di lavoro e quindi ho dovuto fare le cose veloci.... ora che ho avuto un pò di tempo ho fatto funzionare tutto alla perfezione praticamente ho richiamato la tua funzione tramite la funzione onload() all'interno di un immagine inserita nel div sostituito con ajax.

    Ho solo ancora un piccolo dubbio o meglio un problemino perche facendo nel modo da te consigliato sono costretto a inserire parecchio codice nella pagina madre cosa che invece non vorrei fare per non appesantire troppo la pagina quindi la domanda sarebbe:

    Posso ricaricare il div sostituito con ajax inserendo la tua funzione, magari con qualche modifica opportuna, nel corpo stesso del div?


    grazie mille


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.