Wie ich verstehe, ist es unmöglich, iframe-Druck zu implementieren, ohne ein neues Fenster zu öffnen.
Meine Druckfunktion:
if ($.browser.opera || (/chrome/.test(navigator.userAgent.toLowerCase()))) {
var href = contentWindow.location.href;
href = href.indexOf("?") > -1 ? href + "&print=1" : href + "?print=1";
var printWindow = window.open(href, "printWindow", "scrollbars=yes");
printWindow.focus();
}
else {
contentWindow.focus();
contentWindow.print();
}
Auch habe ich den folgenden Code an das Ende des Körpers (wenn Druck == 1):
<script type='text/javascript'>
function invokePrint() {
if (document.readyState && document.readyState!='complete')
setTimeout(function() { invokePrint(); }, 50);
else if (document.body && document.body.innerHTML=='false')
setTimeout(function() { invokePrint(); }, 50);
else {
focus();
print();
}
}
invokePrint();
</script>
Aus dem verlinkten Artikel es zumindest für Chrome scheint, wie Sie haben sollte Erfolg. Ist der Iframe auf einer anderen Domain? – Paul
Nein. Es stammt aus derselben Domäne. –