我正在尝试通过传递 window.open url 并使用 window.focus、window.print 来打印我的域上的另一个页面。但是,打印预览只显示一个空白页面。我猜我必须等到页面加载完毕,但我不确定该怎么做。这是代码:
var newWin=window.open('http://mydomain.com');
newWin.focus();
newWin.print();
newWin.close();
我试过像
newWin.onload() {
newWin.print();
});
无济于事。
编辑1:
var newWin=window.open('http://localhost:76');
newWin.focus();
newWin.onload = newWin.print();
newWin.close();
同样的问题仍然存在
编辑2:
var newWin=window.open('http://localhost:76');
newWin.focus();
newWin.body.onload = newWin.print();
在此处添加 newWin.close() 会导致打印功能出错并仅打印
页面的标题。否则,使用此页面可以正确打印
编辑3:
function printWin(newWin) {
newWin.print();
newWin.close();
}
var newWin = window.open('http://localhost:76');
newWin.focus();
newWin.body.onload = printWin(newWin);
这会导致打印像以前一样过早发生,预览空白页面。wtf :(