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
}
La descrizione qui