Fueron enviados 9 comentarios a la discusión

9 comentarios revisados:
Galas | Más detalle a IE Operación anulada
| 27/8/09 |
Tratando de detallar un poco más, se trata de una página con javascript y PHP, en un ambiente de prueba (XAMPP) en la misma máquina con el mismo IE7 no da error, demás está decir que con Firefox anda correctamente. Teniendo en cuenta que sólo ocurre en mis máquinas que se encuentran bajo una red inalámbrica (en la otra hay IE6 con XP) podría llegar a haber alguna aplicación que esté generando conflicto (Ares, etc)? puede ser un tema de firewall ? algún virus o código malicioso de algún tipo (pasé Ad-Aware y NOD32 y no detectó problemas) ? Si fuera una de estos últimos puntos no debiera tener conflicto con otras páginas también? o alguna opción de internet, no tengo ningún sitio registrado como de confianza, ni como restringido.
Saludos y gracias.
Galas.
| Operaciones con DOM antes que la página esté lista
| 28/8/09 |
Hola!
No será que estás haciendo cosas con Javascript que afectan al DOM de la página, antes de que la página esté lista para este tipo de acciones?
¿cómo es la ventana donde te sale el mensaje de error?
Galas | IE Operación Anulada y problemas con el DOM
| 28/8/09 |
Eugim, primero agradecerte la atención y segundo contarte que he aprendido mucho viendo esta página y varios de los foros donde vos participás.
Por otro lado te cuento que instalé IE8, ya que la gente que me provee el servicio de hosting me aseguraba que andaba bien siempre y que ellos no podían reproducir el error. Finalmente en IE8 sigue habiendo un error y me parece que tiene que ver más con lo que vos comentás del DOM, el mensaje que arroja ahora es :
Mensaje: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
Línea: 0
Carácter: 0
Código: 0
URI: http://www.vivovilladelparque.com.ar/paginaSeleccion.php?pagina=2&orden=&busqPalabra=&busqDireccion=&rubro=INMUEBCONSTR&subRubro=INMOBILIARIA&pagSubRubro
Si bien ésto lo vi anoche, todavía no lo he podido resolver, no me doy cuenta donde puede estar ocurriendo ésto. Lo otro que me asombra es que antes de subirlo al hosting, o sea en un ambiente de prueba me anda bien tanto con IE7 como con el IE8; y obviamente con Firefox siempre anduvo OK.
A la página se puede acceder desde "http://www.vivovilladelparque.com.ar/probadorBis.php" y el problema aparece al navegar por la segunda página utilizando las opciones de la columna central. Dame una opinión o decíme si necesitás ver algo de código.
Desde ya gracias y saludos.
Galas.
| yo no veo el error
| 01/9/09 |
Hola Galas,
Yo no he visto el error... pero si es eso del DOM, lo solucionas asegurando que cualquier código javascript se ejecute sólo después de cargar la página completa.
Es decir, si tienes código javascrip que se ejecuta directamente a medida que se carga la página:
<script>
//codigo que se ejecuta cuando el navegador lee este script, osea, código que está fuera de funciones o clases que se ejecuten cuando se invoquen y no directamente al leerse la página
</script>
Eso lo puedes cambiar por
<script>
window.onload=function(){
alert("hola");
}
</script>
Si utilizas algún framework javascript esto lo puedes hacer de otras maneras, como:
http://www.desarrolloweb.com/articulos/evento-domready-mootools.html
| donde puse el alert...
| 01/9/09 |
hola de nuevo...
donde puse
alert("hola");
Quería poner cualquier código que se ejecute directamente al cargar la página
La idea es meter todos esos códigos para inicialización de la página en un evento onload, que se ejecuta siempre cuando la página está lista para recibir instrucciones que afecten al dom.
Y por cierto, que en tu ordenador no vieses el problema tiene todo el sentido, porque en tu ordenador todo se carga muy rápido por estar el contenido en local y da tiempo al navegador a generar la página internamente antes que el javascript q te pueda dar problemas se llegue a ejecutar... es algo que me ha pasado varias veces. Luego en el servidor, como es más lento, pues tarda más en cargarse la página y esos códigos que afectan al DOM se ejecutan antes que esté lista.
Galas | php con javascript
| 01/9/09 |
Eugim, cómo va?
Pensando en porque tenía el problema al estar on-line y no en un ambiente de prueba había llegado a esta conclusión que vos estás confirmando, supongo que por el mismo motivo la gente del hosting no podía replicar el problema; ahora que vos no lo puedas replicar puede tener que ver con tu conexión también?
Con respecto al error que sale, revisando el código me pregunto si el problema puede estar en que estoy generando variables javascript mediante php dentro del head, y que ésto tenga tiempos distintos al parseo del html?
Otra vez Gracias.
Abrazo.
Galas.
Galas | php con javascript
| 01/9/09 |
Eugim, ahora me surge una duda; si sólo estoy generando variables con el php, en ningún momento es código javascript que modifique el DOM, porque podría traer problemas? igual sin tener claro el porque me suena a que lo sgte no es correcto :
<head>
...
<script>
....
<?php
echo "var listo='ok';";
?>
....
function iniciar() {
loadMapa(); // carga mapa de Google
if (listo=="ok"){
funcionQueModificaDOM(); //esta función si modifica el DOM
}
}
</script>
</head>
<body onload="iniciar()" onunload="GUnload()">
.....
Galas.
| Código correcto, pero...
| 03/9/09 |
Hola,
El código yo lo veo bien. Crear variables de Javascript desde PHP es algo normal y no veo problemas en la que has escrito.
Lo que esa variable "listo" en realidad no te hace nada en el ejemplo que envías, porque no te sirve realmente para saber si el DOM está listo o no. Lo que sí te sirve es hacer que la función se invoque con el onload
onload="iniciar()"
como la llamada a la función que modifica el DOM funcionQueModificaDOM() está dentro de la función iniciar(), que se llama a su vez desde el evento onload, pues yo la veo bien, porque siempre se llamaría una vez se ha terminado de cargar la página.
Pero lo de
if (listo=="ok"){
No creo que te sirva para nada, porque siempre te dará que está listo, ya que se creo esa variable en la cabecera desde PHP y sería válida incluso antes que la página termine de cargar.
Saludos!
Galas | vbles javascript con php
| 03/9/09 |
Ernesto, primero agradecer tu respuesta; segundo el ejemplo que puse no tiene ningun valor agregado sólo el de saber si ésto es un práctica habitual, ya que no tengo toda la experiencia que me gustaría con éstos temas.
Pregunto por este tema porque en el código que tengo (esta a disposición si alguien necesitara verlo para darme una respuesta) no llego a ver problemas con respecto a la modificación del DOM antes del parseo del HTML; por este motivo pensé que podía haber un tema de tiempos entre la generación de las vbles javascript dentro del head mediante PHP.
Cualquier cosa que se les ocurra con respecto seguro me vendrá excelente.
Gracias.
Galas.