Foros del Web » Programando para Internet » Javascript »

Iframe Javascript

Estas en el tema de Iframe Javascript en el foro de Javascript en Foros del Web. Buenos días, estoy intentando imprimir el contenido de un iframe mediante el siguiente código: window.frames["mio"].focus(); window.frames["mio"].print(); esto funciona perfectamente en Chrome y Firefox pero no ...
  #1 (permalink)  
Antiguo 27/09/2011, 05:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 56
Antigüedad: 17 años, 10 meses
Puntos: 1
Iframe Javascript

Buenos días,

estoy intentando imprimir el contenido de un iframe mediante el siguiente código:

window.frames["mio"].focus();
window.frames["mio"].print();

esto funciona perfectamente en Chrome y Firefox pero no funciona en iE,

¿Alguien puede echarme una mano?

Gracias!
  #2 (permalink)  
Antiguo 27/09/2011, 05:53
Avatar de Raziel_Ravenheart  
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 13 años, 3 meses
Puntos: 37
Respuesta: Iframe Javascript

HOla como vas, aquí esta mi respuesta y espero que te ayude:

1. Primero debes detectar que navegador está utilizando el usuario, esto lo haces con:
Código Javascript:
Ver original
  1. var navegador = navigator.appName;

2. A veces no estoy seguro que dato guarda la variable "navegador", entonces utilizo el firebug para depurar, o en el caso de internet explorer, la consola web, o simplemente hago un "alert", para saber que valor tiene guardado, y así poder usarlo en mi código. Ojo, esto es solo con fines de depuración, por eso recomiendo el uso de herramientas para desarrolladores. A veces, aunque no muy aconsejable, como te dije, hago lo siguiente:
Código Javascript:
Ver original
  1. alert(navegador);

Después de tener el dato, solo comento esa línea o simplemente la borro.

3. Luego de tener el valor guardado en la variable "navegador", se utiliza un if:

Código Javascript:
Ver original
  1. if (navegador == "Microsoft Internet Explorer") {
  2.  document.mio.focus();
  3.  document.mio.print();
  4. } else {
  5.  window.frames["mio"].focus();*
  6.  window.frames["mio"].print();*
  7. }

El código cambia un poco y se extiende, ya que Internet Explorer tiene sus mañas. No soy partidario de ese navegador, pero antes de continuar con tu proyecto, te recomiendo que estudies todas los problemas de compatibilidad que existen en javascript tanto para IE y otros navegadores. Generalmente IE, pide que se cambien o se hagan cosas de un modo distinto como detección de eventos y adición de estos.

Un ejemplo básico:
En firefox y otros esto funciona:

Código Javascript:
Ver original
  1. [elementoHTMLDOM].addEventListener('click',funcion,false);

mientras que en IE se tiene que utilizar la función attachEvent.

Exitos
  #3 (permalink)  
Antiguo 27/09/2011, 07:24
 
Fecha de Ingreso: febrero-2007
Mensajes: 56
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: Iframe Javascript

Cita:
Iniciado por Raziel_Ravenheart Ver Mensaje
HOla como vas, aquí esta mi respuesta y espero que te ayude:

1. Primero debes detectar que navegador está utilizando el usuario, esto lo haces con:
Código Javascript:
Ver original
  1. var navegador = navigator.appName;

2. A veces no estoy seguro que dato guarda la variable "navegador", entonces utilizo el firebug para depurar, o en el caso de internet explorer, la consola web, o simplemente hago un "alert", para saber que valor tiene guardado, y así poder usarlo en mi código. Ojo, esto es solo con fines de depuración, por eso recomiendo el uso de herramientas para desarrolladores. A veces, aunque no muy aconsejable, como te dije, hago lo siguiente:
Código Javascript:
Ver original
  1. alert(navegador);

Después de tener el dato, solo comento esa línea o simplemente la borro.

3. Luego de tener el valor guardado en la variable "navegador", se utiliza un if:

Código Javascript:
Ver original
  1. if (navegador == "Microsoft Internet Explorer") {
  2.  document.mio.focus();
  3.  document.mio.print();
  4. } else {
  5.  window.frames["mio"].focus();*
  6.  window.frames["mio"].print();*
  7. }

El código cambia un poco y se extiende, ya que Internet Explorer tiene sus mañas. No soy partidario de ese navegador, pero antes de continuar con tu proyecto, te recomiendo que estudies todas los problemas de compatibilidad que existen en javascript tanto para IE y otros navegadores. Generalmente IE, pide que se cambien o se hagan cosas de un modo distinto como detección de eventos y adición de estos.

Un ejemplo básico:
En firefox y otros esto funciona:

Código Javascript:
Ver original
  1. [elementoHTMLDOM].addEventListener('click',funcion,false);

mientras que en IE se tiene que utilizar la función attachEvent.

Exitos

Hola!

Agradecerte antes de nada tu interés...

He probado tu solución y pese a que me llega a aparecer el dialogo de impresión (nº de copias, etc) realmente no imprime nada... ¿A qué puede deberse?

Muchas gracias, un saludo.
  #4 (permalink)  
Antiguo 27/09/2011, 08:38
Avatar de Raziel_Ravenheart  
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 13 años, 3 meses
Puntos: 37
Respuesta: Iframe Javascript

Ahi si me dejaste en blanco... tendremos que esperar que alguien que maneje iexplorer nos diga, por que yo no hago sitios que soporten Iexplorer al igual que unos amigos.

Saludos
  #5 (permalink)  
Antiguo 27/09/2011, 08:55
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, 7 meses
Puntos: 1485
Respuesta: Iframe Javascript

Cita:
Iniciado por verosb Ver Mensaje
... pese a que me llega a aparecer el dialogo de impresión (nº de copias, etc) realmente no imprime nada...
ehhhh... what? la función print no imprime automaticamente. print lo que hace es mostrarte el dialogo que estas viendo. si quieres imprimir automaticamente, eso no se puede.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 27/09/2011, 09:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 56
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: Iframe Javascript

Creo que no me han entendido, me aparece el cuadro de dialogo de impresión, hasta ahí perfecto, pulso aceptar y cuando debería imprimir no imprime nada.

no tengo problema en que aparezca ese cuadro, pero que una vez pulso aceptar en dicho cuadro de dialogo no llega a imprimir nada...
  #7 (permalink)  
Antiguo 27/09/2011, 09:29
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, 7 meses
Puntos: 1485
Respuesta: Iframe Javascript

ohh! ahora se entiende. que yo recuerde, tienes que ir a las configuraciones de iexplorer y en un apartado le indicas que contenido imprimir. creo que hay uno para los marcos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 27/09/2011, 09:31
 
Fecha de Ingreso: febrero-2007
Mensajes: 56
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: Iframe Javascript

¿Y Alguna manera de hacerlo sin que el usuario tenga que intervenir? Está utilizado para un aplicación web y el objetivo es que se imprima directamente...

Gracias!

Etiquetas: funcion, iframe
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 05:19.