2012-06-21 29 views
6

Tôi đang mở một dạng PDF có thể chỉnh sửa (mở thông qua các plugin acrobat) trong một iframe:IE9 "đối tượng gọi điện thoại không hợp lệ" khi in PDF trong iframe

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

Có một nút mà các cuộc gọi chức năng in sau :

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

Nó hoạt động trong Chrome, Safari, IE8, nhưng không hoạt động trong IE9.
Trong IE9 tôi nhận được lỗi sau trong tham chiếu đến printContent() chức năng:

Invalid calling object 

Tôi nghĩ rằng đây có thể là lừa để nhận được nó để làm việc, nhưng tôi không chắc chắn làm thế nào để làm cho window.frames phù hợp trong cấu trúc này : http://msdn.microsoft.com/en-us/library/ie/gg622930%28v=vs.85%29.aspx

CẬP NHẬT: Quyết định đó cho trang duy nhất này là giải pháp đơn giản nhất là buộc các trình duyệt vào chế độ tương thích IE8 sử dụng <meta> thẻ và X-UA-Compatible

Trả lời

-3

Bạn phải đặt chức năng in của mình bên trong trang Iframe và gọi nó từ trang chính.

trong khung nội tuyến:

function printMe() { 
    window.print() 
} 

ở mẹ (giả sử đây là iframe đầu tiên trên trang của bạn):

frames[0].printMe() 
+0

Trang iframe là một pdf. – kylex

+2

Sự cố thực sự xảy ra với "đối tượng gọi điện không hợp lệ" trên window.frames ["iframe_content"]. Tôi đang tìm một giải pháp cho vấn đề đó. Làm cách nào để tạo window.frames một đối tượng gọi hợp lệ? – kylex

+0

Trên IE, tôi tưởng tượng rằng PDF chiếm toàn bộ khung nội tuyến ở cấp ứng dụng mặc dù đang hoạt động-x - vì vậy không có trang web ở đó nữa. Chỉ trình xem PDF. –

Các vấn đề liên quan