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
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
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.
Try document.parentWindow.print(); instead of self.print()...