Buen dia
Estoy tratando de configurar que se habra un swf desde un xhtml en IE y Firefox. En principio, tengo un xml ("ABC.xml") donde tengo el tamaño de del swf que quiero cargar
<abc>
<nombreabc></nombreabc>
<cliente></cliente>
<estandar></estandar>
<!--estandar posibles valores:
cd, scorm, aicc -->
<pantallancho>924</pantallancho>
<pantallalto>668</pantallalto>
<!--resolucion pantalla:
opciones
700 x 500
924 x 668-->
</abc>
Como veran, tengo dos atributos "pantallancho" y "pantallalto". Luego con una funcion rescato los valores de esos atributos, la cual tiene el siguiente codigo:
function parsearXML(){
xmlDoc=window.parent.xmlDoc.documentElement;
window.parent.pantallaAncho =xmlDoc.getElementsByTagName('pantallancho')[0].childNodes[0].nodeValue;
alert(window.parent.pantallaAncho )
window.parent.pantallaAlto =xmlDoc.getElementsByTagName('pantallalto')[0].childNodes[0].nodeValue;
alert(window.parent.pantallaAlto)
}
A continuacion, verifico con cual de los dos navegadores esta entrando y llamo la funcion parsearXML():
//--- Si es IE el objeto ActiveXObject existirá.
if(window.ActiveXObject){
//--- Creo un nuevo objeto de la librería Microsoft.XMLDOM que es la que se encarga
//--- en Internet Explorer de 'parsear' un archivo XML.
window.parent.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
//--- Defino la asincronización a false
window.parent.xmlDoc.async = false;
window.parent.xmlDoc.load("ABC.xml");
parsearXML();//para Internet Explorer
//si no es IE el explorador
}else
if(document.implementation && document.implementation.createDocument){
window.parent.xmlDoc = document.implementation.createDocument("","",null) ;
window.parent.xmlDoc.load("ABC.xml");
//--- Le decimos que cuando haya terminado de cargar el XML
//--- ejecute la función de parsear el mismo.
//--- NOTA: Se le llama a la función sin los paréntesis. Si se le colocan no funciona
window.parent.xmlDoc.onload = parsearXML; //Para firefox Mozzila
}else{
alert ('Su navegador no puede soportar este script');
}
Para abrir el swf utilizo el siguiente codigo (el primer condicional es para IE y el segundo para Firefox el cual es el que me interesa):
var cadena = document.location.search;
if (cadena != "") {
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"\n'+
'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"\n'+
'id="Examen" width=" '+window.parent.pantallaAncho+' " height=" '+window.parent.pantallaAlto+' ">\n'+
'<param name="movie" value=base.swf'+document.location.search+'&OA='+ nombre +'&archivoxml='+ nombre +' />\n'+
'<param name="quality" value="high" />\n'+
'<embed src=base.swf'+document.location.search+'&OA='+ nombre +'&archivoxml='+ nombre +' quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"\n'+
'type="application/x-shockwave-flash" width=" '+window.parent.pantallaAncho+' " height=" '+window.parent.pantallaAlto +' " name="Examen"></embed>\n'+
'</object>');
}
else{
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"\n'+
'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"\n'+
'id="Examen" width=" '+window.parent.pantallaAncho+' " height=" '+window.parent.pantallaAlto+' ">\n'+
'<param name="movie" value=base.swf'+document.location.search+'?OA='+ nombre +'&archivoxml='+ nombre +' />\n'+
'<param name="quality" value="high" />\n'+
'<embed src=base.swf'+document.location.search+'?OA='+ nombre +'&archivoxml='+ nombre +' quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"\n'+
'type="application/x-shockwave-flash" width=" '+window.parent.pantallaAncho+' " height=" '+window.parent.pantallaAlto+' " name="Examen"></embed>\n'+
'</object>');
}
Con los codigos que les mostre antes son con los que estoy trabajando, en IE se muestra perfectamente el tamaño del swf en el html, pero cuando ejecuto el Firefox no le hace caso a las variables que cargan el tamaño, y lo muestra como quiere y lo muestra pequeñito.
Tampoco me muestra ningun error de ejecucion por eso ya no se que otra cosa hacer para que firefox me entienda! jejejejejejeje.
Ojo, se que montando una pagina web normal la cosa seria mas sencilla, pero estoy desarrollando cursos elearning lo cual debe cumplir una metodología estandar, es por ello que estoy usando este tipo de codigo.
Por fis si alguien puede ayudarme!!