在IE中打印特定iframe的预览

时间:2016-04-27 09:58:43

标签: javascript internet-explorer activex

我有一个包含多个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()生成的打印预览只是特定的框架,而不是整个页面?

0 个答案:

没有答案