杰表技术论坛 's Archiver

admin 发表于 2017-12-15 12:20

【jcp使用手册】打印<iframe>的页面

你可以打印iframe中的内容,只要该iframe里面包含page1,page2,...这样的打印div页面:
[code]<script>  
...  
var myDoc = {  
            // 打印一个iframe里面的页面,该iframe 的 id为myframei  
            documents : document.getElementById("myframe").contentWindow.document,  
            copyrights : '杰创软件拥有版权  www.jatools.com'  
        };  
getJCP().print(myDoc);  
</script>  
        ...  
<iframe id='myframe' src='pages.htm'></iframe>  
...  [/code]

用类似 document.getElementById("IFRAMEID").contentWindow.document 这样的形式,取得iframe里的document对象。

注意,打印iframe前,应该确保其已经加载完成,所以,如果你需要动态指定iframe的src属性时,应该在文档加载完成后,再调用jcp进行打印,如:
[code]function main() {  
    // 加载完成后,再打印  
    loadFrame("getpages.jsp", doPrint);  
}  
function doPrint() {  
    var myDoc = {  
        documents : document.getElementById("myframe").contentWindow.document,  
        copyrights : '杰创软件拥有版权  www.jatools.com'  
    };  
    getJCP().print(myDoc);  
}  
function loadFrame(src, callback) {  
    // 加载完成后,回调 callback  
    var loaded = function() {  
        callback();  
    }  
    var frame = document.getElementById("myframe");  
    if (frame.attachEvent) {  
        frame.attachEvent("onload", loaded);  
    } else {  
        frame.onload = loaded;  
    }  
    frame.src = src;  
}  [/code]

admin 发表于 2017-12-15 12:21

在线示例:[url=http://print.jatools.com/jcp/0.99/printiframe.htm]http://print.jatools.com/jcp/0.99/printiframe.htm[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.