diferencias entre firefox e IE
Publicado por Lord Sairtanikvs (20 intervenciones) el 17/10/2007 12:59:59
Buenos dias.
El caso es que tengo un problema con un codigo, el cual funciona perfectamente en firefox, pero que no lo hace en internet explorer.
Llevo ya unas horas buscando la solucion, pero no me sale nada.
El codigo que digo es el siguiente:
function abrirVentana(){
//el this que recibe no hace referencia al objeto pulsado ni al document
var tree=this.parentNode.parentNode.id;
tree=tree.substring(7);
var oNode=goPPage.getTree(tree).getNode(this.id);
var action=oNode.getAction();
if(tree=="idioma")
window.location="index.php?"+action+"&Idioma="+this.id.substring(this.id.length-2);
else
window.location="index.php?"+action;
}
Tengo creado un arbol, en javascript, que lo que me hace es anidar capas, y las mas interiores, son las que funcionan en este caso como enlaces (en otros casos les asigno otras funciones). En esas capas interiores tengo una funcion generica, redireccionada a esta.
La cuestion, es que al pulsar una de esas capas, tanto en firefox, como en IE, entra en esta funcion. La diferencia es que en firefox, dentro de la funcion, el this toma el rol del objeto pulsado, con lo que puedo acceder a los nodos padre y a su informacion. Sin embargo, en IE, el this no tiene nada que ver con el objeto, por lo que no consigo acceder a los datos que me hacen falta.
Por cierto, la asignacion a esta funcion seria asi:
oMenu.nodeOnClick=abrirVentana;
Previamente en el objeto, al crearse, cada nodo recibe esa funcion:
oNode.onclick=nodeOnClick;
Bueno, a ver si me podeis echar una mano, que yo ya no se por donde tirar.
Gracias.
El caso es que tengo un problema con un codigo, el cual funciona perfectamente en firefox, pero que no lo hace en internet explorer.
Llevo ya unas horas buscando la solucion, pero no me sale nada.
El codigo que digo es el siguiente:
function abrirVentana(){
//el this que recibe no hace referencia al objeto pulsado ni al document
var tree=this.parentNode.parentNode.id;
tree=tree.substring(7);
var oNode=goPPage.getTree(tree).getNode(this.id);
var action=oNode.getAction();
if(tree=="idioma")
window.location="index.php?"+action+"&Idioma="+this.id.substring(this.id.length-2);
else
window.location="index.php?"+action;
}
Tengo creado un arbol, en javascript, que lo que me hace es anidar capas, y las mas interiores, son las que funcionan en este caso como enlaces (en otros casos les asigno otras funciones). En esas capas interiores tengo una funcion generica, redireccionada a esta.
La cuestion, es que al pulsar una de esas capas, tanto en firefox, como en IE, entra en esta funcion. La diferencia es que en firefox, dentro de la funcion, el this toma el rol del objeto pulsado, con lo que puedo acceder a los nodos padre y a su informacion. Sin embargo, en IE, el this no tiene nada que ver con el objeto, por lo que no consigo acceder a los datos que me hacen falta.
Por cierto, la asignacion a esta funcion seria asi:
oMenu.nodeOnClick=abrirVentana;
Previamente en el objeto, al crearse, cada nodo recibe esa funcion:
oNode.onclick=nodeOnClick;
Bueno, a ver si me podeis echar una mano, que yo ya no se por donde tirar.
Gracias.
Valora esta pregunta


0