2012-08-02 88 views
1

這是一個跟進這個問題:Invoking javascript in iframe from parent page從父頁面的iframe調用JavaScript中,IE問題

我實現了由@Tomalak提供了答案。

這裏是一個jsFiddle

問題是這樣的,在iframe內容是動態創建的(所以沒有跨域問題)。內容中有一個按鈕,其onclick事件處理程序調用window.print()。這僅打印iframe的內容(這是好的並且用作概念驗證)。

此外,父頁面上有一個按鈕,用於調用iframe發佈的公共函數。該功能是printContent,與iframe按鈕的onclick事件處理程序類似,它也調用window.print()

這是在使用IE 8從父頁面上的按鈕打印時,父頁面的內容也會打印的問題。 (Chrome不會發生這種情況。)

是否有修復使IE 8只打印iframe的內容?

有趣的是,通過公共函數返回window.document.title,不返回iframe內容的title,使用IE 8

即使小提琴演示該問題,並提供更多的細節。

回答

2

在IE中,您需要將焦點設置到要打印的窗口。這將打印IFRAME當函數在父頁面:

function printContent(){ 
    var el = document.getElementById('myFrame'); 
    el.contentWindow.focus(); 
    el.contentWindow.print(); 
    return; 
} 

如果功能是在iframe中,你可以從任何地方打印:

function printContent(){ 
    window.focus(); 
    window.print(); 
    return; 
} 
+0

謝謝。像魅力一樣工作。 – Karl 2012-08-03 12:09:01

相關問題