Printing a hidden iFrame in IE

后端 未结 3 1127
时光说笑
时光说笑 2020-12-16 21:19

This solution works fine in Firefox 3.0+, but IE8/7 is just printing the entire page, not the specific iframe.

This is the function that gets called when the print l

相关标签:
3条回答
  • 2020-12-16 21:50

    Parent Document:

    <!doctype html>
    <html>
        <head>
            <script> 
            function printIframe(iframe_id) { 
    
                if (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') { 
                    document.frames[iframe_id].focus(); 
                    document.frames[iframe_id].print(); 
                } else { 
                    window.frames[iframe_id].focus(); 
                    window.frames[iframe_id].print(); 
                } 
            } 
            </script> 
        </head>
        <body>
            <a href="javascript:printIframe('printMe');">Print the iframe.</a> 
            <iframe id="printMe" src="iframe.html"></iframe>
        </body>
    </html>
    

    iframe document:

    <!doctype html>
    <html>
        <head></head>
        <body>
            <p>Print this.</p>
        </body>
    </html>
    

    From the below link: http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=449

    0 讨论(0)
  • 2020-12-16 21:58

    Solution: In IE, an iframe with visibility: hidden; causes the browser to print the parent. Changing the styles to height:0px; width: 0px; fixes this issue.

    0 讨论(0)
  • 2020-12-16 22:14

    Try document.parentWindow.print(); instead of self.print()...

    0 讨论(0)
提交回复
热议问题