Impresión entre frames
Estoy intentando hacer lo siguiente:
Tengo una página que contiene 2 frames. El primero sólo consiste de un botón que lo que debe hacer es imprimir el segundo frame. ¿Como puedo hacer eso?
He estado probando diversos métodos como:
parent.frames[1].print(); o
parent.nombreframe.print();
y me está diciendo siempre que "acceso denegado".
¿Se os ocurre una ayudita?
Gracias!
Tengo una página que contiene 2 frames. El primero sólo consiste de un botón que lo que debe hacer es imprimir el segundo frame. ¿Como puedo hacer eso?
He estado probando diversos métodos como:
parent.frames[1].print(); o
parent.nombreframe.print();
y me está diciendo siempre que "acceso denegado".
¿Se os ocurre una ayudita?
Gracias!
Mira. Lo que debes hacer, es simplemente intentar sustituir el número "1", por el nombre del marco.
El marco se debe nombrar desde la página que los ordena (principal). De todas maneras tengo la solución a tu problema. Ojalá que nos pongamos de acuerdo vía e-mail para hacerte llegar una demostración.
Atte Wolverine
El marco se debe nombrar desde la página que los ordena (principal). De todas maneras tengo la solución a tu problema. Ojalá que nos pongamos de acuerdo vía e-mail para hacerte llegar una demostración.
Atte Wolverine
Lo que yo hice para resolver este problema, no se basa simplemente en el hecho de referirse a un marco, sino en cómo llamar a funciones insertadas en otras páginas.
Para esto yo hice un ejemplo.
La página principal de los frames es la siguiente.
<html>
<frameset cols="50%,50%">
<frame name="Menu" src="1.htm">
<frame name="Cont" src="2.htm">
</frameset></html>
La página de la izquierda, la diseñe como menú, pero es igual de ancho que la carpeta del contenido. Este es el código:
<html><head><script language="javascript">
function imprime2()
{
window.parent.frames['Cont'].imprime();
}
</script></head>
<form>
<input type="button" onclick="imprime2()" value="Imprimir el otro marco"></form></html>
La otra página, la diseñe como página de contenidos. El código es el siguiente:
<html><head><script language="javascript">
function imprime()
{
window.parent.print()
}
</script></head></html>
Como ves, lo que hacemos aquí, es referenciarnos a una función de otra página, para ello nos dirigimos por parent del objeto window.
Espero que te haya quedado más claro el asunto. Puedes copiar el ejemplo para luego probarlo en la página. Fíjate que en frames, puse frames['Cont'], ya que este marco es el que tiene la función y además está nombrado dentro de la etiqueta <FRAME> de la página principal de marcos.
Atte Wolverine
Para esto yo hice un ejemplo.
La página principal de los frames es la siguiente.
<html>
<frameset cols="50%,50%">
<frame name="Menu" src="1.htm">
<frame name="Cont" src="2.htm">
</frameset></html>
La página de la izquierda, la diseñe como menú, pero es igual de ancho que la carpeta del contenido. Este es el código:
<html><head><script language="javascript">
function imprime2()
{
window.parent.frames['Cont'].imprime();
}
</script></head>
<form>
<input type="button" onclick="imprime2()" value="Imprimir el otro marco"></form></html>
La otra página, la diseñe como página de contenidos. El código es el siguiente:
<html><head><script language="javascript">
function imprime()
{
window.parent.print()
}
</script></head></html>
Como ves, lo que hacemos aquí, es referenciarnos a una función de otra página, para ello nos dirigimos por parent del objeto window.
Espero que te haya quedado más claro el asunto. Puedes copiar el ejemplo para luego probarlo en la página. Fíjate que en frames, puse frames['Cont'], ya que este marco es el que tiene la función y además está nombrado dentro de la etiqueta <FRAME> de la página principal de marcos.
Atte Wolverine