我的应用程序打开弹出窗口打印页面。
function printHTML(urlPath) {
var printPopUp = window.open(urlPath,null,"height=600,width=777,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
printPopUp.print();
}
这个脚本在IE中工作正常,但是在firefox / chrome中。 print()
函数重叠window.open
,因此在屏幕仍在加载时首先显示打印对话框。我需要关闭打印对话框才能正确渲染页面然后手动打印。
请告知。
答案 0 :(得分:0)
加载页面后运行打印,例如
printPopUp.onload = function() { printPopUp.print() }
(未经测试)
答案 1 :(得分:0)
我建议在页面中调用window.print()
加载到弹出窗口而不是开启者。
答案 2 :(得分:0)
如评论中所示,要打印的网址位于同一个域中。您无法访问其他窗口的内容,因此您必须在弹出的窗口中设置一些代码,这些代码将调用开启器以告知它已打开。
popup.html
<script>
function onLoad() {
if(window.opener && window.opener.popupLoaded) {
window.opener.popupLoaded();
}
}
</script>
<html onload="onLoad();">
main.html中
function popupLoaded() {
popup.print();
}