【发布时间】:2012-05-15 15:50:30
【问题描述】:
我正在尝试通过传递 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 :(
【问题讨论】:
-
能否通过在其中放置警报来检查 onload 事件是否运行?
-
在 OP 中检查和编辑代码。警报被调用
-
var newWin=window.open('localhost:76'); newWin.printme = function() { this.print(); } newWin.printme(); newWin.close();
-
hmm 这很奇怪,你能不能在你自己的窗口中尝试 window.print() 方法,首先看看这是否有效?
-
检查 OP,它正在打印弹出窗口,但不能使用 newWin.close();
标签: javascript printing window