Html调用窗口,等待HTML调用window.print()之前写窗口

博客探讨了在JavaScript中遇到的问题,即使用document.write填充弹出窗口内容时可能出现的延迟,导致打印空白页面。建议避免使用document.write,转而采用HTML追加或设置CSS媒体查询。提出了在内容加载完毕后再执行打印操作的解决方案,以确保弹窗内容正确显示并成功打印。
摘要由CSDN通过智能技术生成

我有这样的尝试是把一些内容到一个弹出窗口,然后JavaScript代码连接到打印:等待HTML调用window.print()之前写窗口

$(".print_friendly_popup").click(function() {

var target = $(this).data('print-target');

var left = (screen.width/2)-(500/2);

var top = (screen.height/2)-(500/2);

var win = window.open("", "test", "width=500,height=500 top=" + top + ", left=" + left);

if(target == 'review') {

win.document.write($('#print_friendly_review').html());

} else if(target == 'essay') {

win.document.write($('#print_friendly_essay').html());

}

win.print();

win.close();

});

的问题是有时调用win.document.write需要很长时间,并且窗口尝试打印一个空白屏幕。在打印前如何等待window.document写入?

+0

试过'setTimeout()'? –

+0

1.“document.write”不是很好的“最佳实践”,我想我会变成一个简单的HTML追加(或者将HTML作为字符串分配给正确的元素 - 更快) - 比使用“onLoad “事件,看到所有的内容已被加载,并做你的”打印“ 2.我会去一个方法,可以设置我的”打印样式“通过CSS媒体:”@media print“ –

+0

使用文档没有任何问题.write用于构建弹出窗口内容。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值