Sei in: inizio » programmazione » articolo

Javascript DOM: inserire un oggetto Flash in Internet Explorer

Argomenti: Javascript DOM Flash Internet Explorer

Utilizzando Javascript è possibile modificare l'albero DOM di una pagina e aggiungere un elemento di tipo object, ad esempio un flimato in Flash:

var obj = document.createElement("object");
obj.setAttribute("type","application/x-shockwave-flash");
obj.setAttribute("width","425");
obj.setAttribute("height","344");
obj.setAttribute("data","http://www.youtube.com/v/6FG26Tnp4_0&hl=en");

var par1 = document.createElement("param");
par1.setAttribute("name", "movie");
par1.setAttribute("value", "http://www.youtube.com/v/6FG26Tnp4_0&hl=en");
object.appendChild(par1);

Per qualche motivo a me sconosciuto, questo metodo non funziona in Internet Explorer 6 o 7. Per risolvere questo problema ci si deve allontanare dagli standard W3C, utilizzando l'attributo innerHTML per modificare l'albero DOM, aggiungendo gli stessi elementi alla pagina:

undiv.innerHTML = '<object type="application/x-shockwave-flash" width="425" height="344" data="http://www.youtube.com/v/6FG26Tnp4_0&hl=en"> <param name="movie" value="http://www.youtube.com/v/6FG26Tnp4_0&hl=en" /> </object>';

In alternativa, al posto dell'elemento object si può utilizzare l'elemento embed, che non può essere utilizzato all'interno di pagine valide secondo lo standard XHTML Strict 1.0:

var emb = document.createElement("embed");
emb.setAttribute("type","application/x-shockwave-flash");
emb.setAttribute("width","425");
emb.setAttribute("height","344");
emb.setAttribute("data","http://www.youtube.com/v/6FG26Tnp4_0&hl=en");

A prescidere dell'opzione che verrà scelta, sarà opportuno applicarla esclusivamente nel caso l'utente utilizzi il browser Internet Explorer, attraverso un costrutto condizionale del tipo:

if (document.all && !window.opera) {
 .... //Explorer
} else {
 .... //altri browser
}
Pubblicità

Il tuo annuncio qui

La descrizione qui

referenti Controlla con Yahoo! le pagine web che fanno riferimento a questo articolo.

|

reagisci Reagisci a questo articolo, esprimendoti via email.

|

salva Salva questo articolo usando i servizi web2.0 online, il segnalibro può rimanere privato oppure può essere condiviso con il resto del mondo.

|

stampa Se Javascript è disabilitato, dovrai usare i menu del browser per stampare questa pagina.