2012-06-21 19 views
6

ja otwarcie edytowalny formularz w formacie PDF (otwierane za pośrednictwem wtyczki Acrobat) w iframe:IE9 „Nieprawidłowy obiekt wywołujący” podczas drukowania plików PDF w iframe

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

znajduje się przycisk, który wywołuje następującą funkcję druku :

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

Działa w przeglądarce Chrome, Safari, IE8, ale nie w IE9.
W IE9 i pojawia się następujący błąd w odniesieniu do funkcji printContent():

Invalid calling object 

myślę, że może to być podstęp coraz go do pracy, ale nie jestem pewien, jak zrobić window.frames mieścić się w tej strukturze : http://msdn.microsoft.com/en-us/library/ie/gg622930%28v=vs.85%29.aspx

UPDATE: uznał, że dla tej jednej stronie najprostszym rozwiązaniem było zmuszanie przeglądarkę w trybie zgodności IE8 za pomocą znacznika <meta> i X-UA-Compatible

Odpowiedz

-3

Musisz umieścić swoją funkcję drukowania wewnątrz strony Iframe i wywołać ją ze strony nadrzędnej.

w iframe:

function printMe() { 
    window.print() 
} 

w rodzica (zakładając, że jest to pierwszy iframe na stronie):

frames[0].printMe() 
+0

Strona iframe jest pdf. – kylex

+2

Problem dotyczy "Nieprawidłowego obiektu wywołującego" w window.frames ["iframe_content"]. Szukam obejścia tego problemu. Jak uczynić window.frames prawidłowym obiektem wywołującym? – kylex

+0

W IE wyobrażam sobie, że PDF przejmuje element iframe na poziomie aplikacji, chociaż jest aktywny-x - więc nie ma już tam żadnej strony internetowej. Tylko przeglądarka plików PDF. –

Powiązane problemy