試試這個。把這個說的iframe:
function printPage() { print(); }
然後是在父:
function printIframe(id)
{
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
iframe.focus();
ifWin.printPage();
return false;
}
如果這也不行,我想嘗試開闢一個新窗口/標籤,並用HTML打印填充。
var printwin = window.open("about:blank", "_new");
printwin.document.open();
printwin.document.write("HTML goes here..javascript which is going to print is in there too..");
printwin.document.close();
兩個小事情需要注意的是
- 在新窗口拆分
</script>
,這樣你就不會過早地終止
- 使用的setTimeout()的onLoad後執行()已完成,否則Firefox用戶可能會在打印對話框下看到一個空白頁面
如果我調用它兩次,我希望在其他瀏覽器上有相同的行爲。嗯... – 2010-07-19 13:18:15
@Diodeus你得到2打印對話框與我的[小提琴](http://jsfiddle.net/Kq9dc/)? – quantumSoup 2010-07-19 15:02:47
@Diodeus更多測試,他們似乎工作正常 – quantumSoup 2010-07-19 17:34:43