Foros del Web » Programando para Internet » Jquery »

buscando explicación. jQuery ó Js?

Estas en el tema de buscando explicación. jQuery ó Js? en el foro de Jquery en Foros del Web. Como están: Tuve un problema, el cual pude solucionar, sin embargo, me gustaría saber si algún experto me sabe decir el por qué. Tengo un ...
  #1 (permalink)  
Antiguo 21/08/2011, 21:45
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
buscando explicación. jQuery ó Js?

Como están:
Tuve un problema, el cual pude solucionar, sin embargo, me gustaría saber si algún experto me sabe decir el por qué.
Tengo un menú, el cual interactua via jQuery con el resto de la página, les pongo un fragmento como ejemplo (avdierto que es un fragmento, puede que falte algun cierre, etc)

Código Javascript:
Ver original
  1. $(".menu").click(function () {
  2.    
  3. var estapagina = $.cookie("pagina");
  4. var tituloactual = $(this).attr("title");
  5. $("title").text("Historial médico online ■ Control de Salud - "+ tituloactual);
  6.  
  7. if(estapagina == null){
  8. window.location.href ='/';
  9. }
  10. var esteid = this.id ; 
  11. /// cambiar bakckground ...
  12. var nuevobg = "url(/img/" + esteid +".jpg)";
  13. $("#derecha").css("background-image",nuevobg);
  14. /// cargar contenido...
  15. $.cookie("pagina", esteid);
  16. $("#load_ajax").load('/load/'+ esteid + '.php',{menu:esteid});

así como está, mas otro par de cosas que siguen abajo, funciona perfectamente en
FF, Chrome, IE9, Safari, Opera... Ahora que tras haber agregado la linea
Código Javascript:
Ver original
  1. $("title").text("Historial médico online ■ Control de Salud - "+ tituloactual);
El funcionamiento de la página murió por completo, en IE8/7, la consola de IE, me informa
Cita:
SCRIPT65535: Llamada inesperada a un método o a un acceso de propiedad.
jquery-1.6.1.min.js, Línea 17 Carácter 28710
como analizar el caracter 28710 de la linea 17 de la jquery-1.6.1.min.js escapa a mi capacidad mental, se me ocurrió solucionarlo a la antigüa, en la linea en cuestión (obviamente me refiero a la linea de mi script, no de la librería jQuery)
reemplacé
Código Javascript:
Ver original
  1. $("title").text("Historial médico online ■ Control de Salud - "+ tituloactual);
por un más tradicional
Código Javascript:
Ver original
  1. document.title = "Historial médico online ■ Control de Salud - "+ tituloactual;
y todo volvió a funcionar a la perfección en IE7 é IE8, sin dejar de perder funcionalidad en el resto de los navegadores.
Si alguien tiene alguna idea y lo comenta, estaré agradecido, quizás asi pueda preveer algun otro problema que se me presente en el futuro.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #2 (permalink)  
Antiguo 21/08/2011, 22:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: buscando explicación. jQuery ó Js?

buenas...
en iexplorer, por alguna razón curiosa, el título no puede ser modificado a nivel DOM. me refiero el modificar el nodo TextNode del título. así es como funciona el método text de jQuery. de hecho, iexplorer ni siquiera genera un TextNode para el título e intentar agregarle uno genera error.

Código:
document.getElementsByTagName("title")[0].childNodes.length; // 0;
document.getElementsByTagName("title")[0].appendChild(document.createTextNode("title"));
en fin, no es culpa de jQuery ni de javascript, sino ¿incompatibilidad de iexplorer?
nota: comprobado en iexplorer8.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 21/08/2011, 23:44
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: buscando explicación. jQuery ó Js?

Gracias @zerokilled, agrego el dato a mi lista de "curiosidades" para IE, cabe aclarar que, y confirmado tambien, el problema se remite a IE7 - IE8, en IE9 e IE10pp, el $.text() de jQuery funciona correctamente.
Convengamos que si MS ha sacado IE9, es por algún motivo. Aunque como siempre, el usuario medio está más alla de toda cuestión técnica, y dentro de límites razonables hay que intentar que las versiones anteriores sean compatibles.
Por aqui, en Argentina, son muchos los que no se animan a actualizar porque tienen el Windows pirateado, ya hasta hace poco al menos, se exigia la validación para la descarga. Voy a proponer la creación del sub-foro "Sociología del usuario" para que podamos discutir estos problemas en el entorno que corresponde.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: buscando, javascript, js, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:17.