2012-06-21 11 views
6

Estoy abriendo un formulario editable PDF (abrió a través del plug-in Acrobat) en un iframe:IE9 "objeto de llamada no válido" al imprimir PDF en iframe

<iframe name="iframe_content" id="iframe_content" src="mypdf.pdf"></iframe> 

hay un botón que llama a la siguiente función de impresión :

function printContent(){ 
    window.frames["iframe_content"].focus(); 
    window.frames["iframe_content"].print(); 
} 

Funciona en Chrome, Safari, IE8, pero no en IE9.
En IE9 recibo el siguiente error en referencia a la función printContent():

Invalid calling object 

Creo que esto puede ser el truco para conseguir que funcione, pero no estoy seguro de cómo hacer window.frames ajuste dentro de esta estructura : http://msdn.microsoft.com/en-us/library/ie/gg622930%28v=vs.85%29.aspx

ACTUALIZACIÓN: decidió que por esta sola página la solución más sencilla estaba forzando el navegador en modo de compatibilidad de IE8 uso de la etiqueta <meta> y X-UA-Compatible

Respuesta

-3

Debe colocar su función de impresión dentro de la página del marco flotante y llamarla desde la página principal.

en Iframe:

function printMe() { 
    window.print() 
} 

en los padres (suponiendo que este es el primer marco flotante en su página):

frames[0].printMe() 
+0

La página iframe es un PDF. – kylex

+2

El problema es realmente con el "objeto de llamada no válida" en window.frames ["iframe_content"]. Estoy buscando una solución para ese problema. ¿Cómo puedo hacer que window.frames sea un objeto de llamada válido? – kylex

+0

En IE, imagino que el PDF toma el iframe en un nivel de aplicación a través de active-x, por lo que ya no hay ninguna página web allí. Solo el visor de PDF. –

Cuestiones relacionadas