我有一个包含多个iframe的页面。这些框架上附有一个打印按钮,当点击铬合金时,会显示该特定框架的精美打印预览。在Internet Explorer中,无需任何预览即可显示打印对话框。
按钮运行的代码如下:
window.frames[frameName].print();
为了向IE用户提供打印预览,我实现了以下函数,如果访问者正在使用IE,则会调用该函数:
function printPreview(frameDocument) {
var browser = '<OBJECT ID="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
frameDocument.body.insertAdjacentHTML('beforeEnd', browser);
frameDocument.getElementById("WebBrowser").ExecWB(7, 1); // 7 = print preview, 1 = prompt user
frameDocument.getElementById("WebBrowser").outerHTML = "";
}
此功能可创建打印预览,但打印预览的内容为 所有内容 (包括父文档和所有其他框架)。
我怎样才能使printPreview()
生成的打印预览只是特定的框架,而不是整个页面?