Foros del Web » Programando para Internet » Javascript »

DOM IExplorer

Estas en el tema de DOM IExplorer en el foro de Javascript en Foros del Web. Hola, llevo unas doccenas de horas intentando implementar una función en JS pero IE no sigue las reglas o soy yo el que se las ...
  #1 (permalink)  
Antiguo 12/04/2010, 11:46
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
DOM IExplorer

Hola, llevo unas doccenas de horas intentando implementar una función en JS pero IE no sigue las reglas o soy yo el que se las salta, La idea es repartir una serie de botones a lo largo de mi espacio, los cuales llaman a una función indicándoles un id en concreto, lo que hace esa función es crear una ventana emergente, le planta un bonito logo y "pega" el contenido del id pasado y me lo imprime.
Con Firefox no tengo problemas pero IE no añade los elementos hijos, abre la ventana pero no los añade.

Código:
function imprimir(espacio)
{
var contenido = document.getElementById(espacio);
var ventana = window.open("","myWin","width=560");
var logo = document.createElement("img");
logo.setAttribute('src','http://192.168.0.3/peter/www/images/logo.gif');
logo.setAttribute('width','300');
logo.setAttribute('height','98');
logo.setAttribute('alt','logo');
ventana.document.body.appendChild(logo);
ventana.document.body.appendChild(contenido.cloneNode(true));
ventana.print();
ventana.focus();
}
IE me dice que tiene problemas en
Código:
ventana.document.body.appendChild(logo);

a estas horas me revajaria a usar innerhtml, pero en el caso de tablas como es el principal caso creo que no me valdria, no me mostraria los tr & td ...

Gracias por su tiempo.

Salduos ¡¡¡
  #2 (permalink)  
Antiguo 12/04/2010, 15:10
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: DOM IExplorer

Hola:

Si tu ventana no tiene nada, debes crear el contenido...

Los pasos previos es abrir el documento, y en vez de usar appendChild en algo inexistente, excribir con document.write... y por último cerrar ese documento...

ventana = window.open("");
ventana.document.open();
ventana.document.write(el_contenido_que_sea);
ventana.document.close();

Fíjate que existe open para objetos del tipo window, como en objetos del tipo document...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/04/2010, 16:54
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: DOM IExplorer

Gracias por la ayuda, funciona a la perfección, pero he tenido que pasar por:

var contenido = document.getElementById(espacio).innerHTML

escribo el documento e inserto la variable, sin embargo me gustaría poder hacerlo sin el innerHTML por lo de las buenas practicas ... Si uso appendChild una vez creado y cerrado el documento Explorer no lo añade, pero funciona que es lo importante.

Saludos ¡¡¡

Última edición por OscarE; 12/04/2010 a las 17:00

Etiquetas: dom, iexplorer
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 20:14.