Ciao a tutti, è la prima volta che posto sul forum.
ho una pagina con un layout a due colonne, in quella di sinistra inserisco il player di youtube tramite queste istruzioni
codice:
<div id="nameVideo">'.$videoName.'</div><div id="video">';
$output.="<object type=\"application/x-shockwave-flash\" data=".$videoValue." width=\"425\" height=\"366\" id=\"eMovie\">
<param name=\"movie\" value=".$videoValue." id=\"pMovie\" />
<param name=\"allowScriptAcess\" value=\"sameDomain\" />
<param name=\"quality\" value=\"best\" />
<param name=\"wmode\" value=\"transparent\" />
<param name=\"scale\" value=\"showall\" />
<param name=\"FlashVars\" value=\"playerMode=embedded\" />
</object>";
$output.='</div></div>
la prima volta che si apre la pagina, imposto i valori del player e mi viene caricato correttamente. Il problema arriva quando dalla colonna di destra, dove c'è un menù dinamico, un utente sceglie un video da guardare, in quanto volevo ricaricare soltanto il player con i nuovi parametri e non tutta la pagina.
Questo è il link del video che richiama la mia funzione javascript
codice:
//passo alla funzione l'indirizzo del video e il suo nome
'.$nomeV[$i].'
Questa è la funzione che ho creato per creare il player con i dati del nuovo video
codice:
function seeVideo(video,nome)
{
document.getElementById('nameVideo').innerHTML = nome;
var player = document.getElementById('video');
if(document.createElement && document.getElementById && document.getElementsByTagName)
{
var object = document.createElement('object');
object.setAttribute('type','application/x-shockwave-flash');
object.setAttribute('data',video);
object.setAttribute('width','425');
object.setAttribute('height','366');
object.setAttribute('id','eMovie');
var param1 = document.createElement('param');
param1.setAttribute('name','movie');
param1.setAttribute('value',video);
param1.setAttribute('id','pMovie');
var param2 = document.createElement('param');
param2.setAttribute('name','allowScriptAcess');
param2.setAttribute('value','sameDomain');
var param3 = document.createElement('param');
param3.setAttribute('name','quality');
param3.setAttribute('value','best');
var param4 = document.createElement('param');
param4.setAttribute('name','wmode');
param4.setAttribute('value','transparent');
var param5 = document.createElement('param');
param5.setAttribute('name','scale');
param5.setAttribute('value','showall');
var param6 = document.createElement('param');
param6.setAttribute('name','FlashVars');
param6.setAttribute('value','playerMode=embedded');
object.appendChild(param1);
object.appendChild(param2);
object.appendChild(param3);
object.appendChild(param4);
object.appendChild(param5);
object.appendChild(param6);
player.appendChild(object);
player.replaceChild(object,player.childNodes[0]);
}
}
su FF funziona, mentre il problema arriva con IE dove player.replaceChild() non sostituisce il player, o meglio viene sostituito ma con un quadrato bianco.

Ho ricercato sul forum per trovare una soluzione ma essendo alle prime armi con JS non sono riuscito ad adattare il mio script con le informazioni che ho trovato. Mi pare di aver intuito che nonostante su FF funzioni la soluzione che ho trovato non è la più corretta.
Grazie in anticipo a chi mi potrà aiutare