Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/06/2008, 06:36
lkas
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: problemas con llamados a funciones

Hola Javier!
Pues mi problema es con llamados a una función de un Script desde otro, pero estando estos en diferentes archivos .js. La verdad, es que algunos llamados (llamemoslos externos) me funcionan, mientras que otros no.
Por ejemplo: tengo un archivo llamado toolbar.js en el cual en una de sus funciones (visualiza_leerPropiedades()) llama al método leerRutaEspecificacionSeleccionada() que pertenece al archivo proxy.class.js y en este caso funcina, mientras que si desde otro archivo que se llama options.js hago llamados a funciones de toolbar.js, no me funciona, y no se si es por la ubicación de los archivos o por qué.
Te mando parte del código:

function visualiza_leerPropiedades()
{
var fileXML = cargarArchivoXML(leerRutaEspecificacionSeleccionad a() + "/manifest.xml");

var xpathRes = document.evaluate("//ESPECIFICACION/ARCHIVO_XML", fileXML.childNodes[0], null, XPathResult.ANY_TYPE, null);
objPropiedades.pathContenidoRelativa(xpathRes.iter ateNext().textContent);

var xpathEnt = document.evaluate("//ESPECIFICACION/UTILIZA_ENTORNO", fileXML.childNodes[0], null, XPathResult.ANY_TYPE, null);

if(xpathEnt.iterateNext().textContent == 0)
{
getthetreeEntorno().hidden = true;
}
else
{
getthetreeEntorno().hidden = false;
}
}


function leerRutaEspecificacionSeleccionada()
{
var strEspec = '';
var nodoMenupopup = document.getElementById("visualiza-especificaciones-menu");
for(i=0; i < nodoMenupopup.childNodes.length; i++)
{
if(nodoMenupopup.childNodes[i].getAttribute("checked") == "true")
{
strEspec = nodoMenupopup.childNodes[i].getAttribute("label");
}
}

var ext = Components.classes["@mozilla.org/extensions/manager;1"]
.getService(Components.interfaces.nsIExtensionMana ger)
.getInstallLocation(visualiza_idApp)
.getItemLocation(visualiza_idApp);

if(strEspec == '')
{
//strEspec = 'IMS-LD-DEF';
strEspec = 'MOODLE';
}

return ("file:///" + ext.path + "/" + strEspec).replace(/\\/g,'/');
}


Lo anterior me funciona, mientas que esto (que lo hice de prueba) no:

(Código en toolbar.js)
function esp()
{
var nodoMenupopup = document.getElementById("visualiza-especificaciones");
return (nodoMenupopup.getAttribute("id"));
}


(código en options.js que llama a esp() de toolbar.js)
function visualiza_specificDefault()
{
alert(esp());
}


Gracias de antemano!!!