我有这样的尝试是把一些内容到一个弹出窗口,然后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用于构建弹出窗口内容。 –

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

  1. window.print() 去掉页眉页脚及打印链接

    页面中添加样式: <style media="print">@page {size: auto; /* auto is the initial value */marg ...

  2. ie调用window.print批量打印数据表格。

    需求 根据勾选的checkbox,一次将数据打印出来. 注意 1,我第一次是用循环一次一次调用window.print方法,想把数据一张一张打出来.结果因为输入输出流的问题,这样是一个死路. 取巧的思 ...

  3. js 调用window.print()方法打印

    目的:打印功能实现,添加水印 步骤: 1.写好jsp页面 2.写打印方法 即window.print()打印当前页面,如果只想打印部分页面的话,可以截取该部分赋值给body即可 3.调用打印方法即可 ...

  4. mui教程2——窗口管理、调用相册、调用摄像头、调用重力感应、微信朋友圈界面(仿制)分析

    一.窗口管理 1,页面初始化 在app开发中,若要使用HTML5+扩展api,必须等plusready事件发生后才能正常使用,mui将该事件封装成了mui.plusReady()方法,涉及到HTML5 ...

  5. iframe 父窗口和子窗口相互的调用方法集锦

    一.父窗口调用iframe子窗口方法 1.HTML语法:<iframe name="myFrame" src="child.html"></i ...

  6. python PyQt5.QtWidgets.QApplication().exec_()函数 QCoreApplication.exec_()(进入主事件循环并等待直到调用exit()为止)

    搜索的时候没找着QApplication().exec_()函数,用QCoreApplication.exec_()替代一下? 链接:https://doc.qt.io/qtforpython/PyS ...

  7. UE4 获取主窗口HWND和调用WINAPI函数

    很多文章介绍获取UE4主窗口都是通过GetActiveWindow或者FindWindow等方法,这种方法不是很方便,也不准确. 可以通过UEngine的Viewport获取NativeWindow来 ...

  8. import android.view.window;,尝试在空对象引用上调用虚拟方法‘android.view.Window$回调...

    尝试在空对象引用上调用虚拟方法'android.view.Window$回调-android.view.Window.getCallback()' 当我SplashActivity打开LoginAct ...

  9. C#同步和异步(四)等待异步调用完成

    如果有一种特殊需求,我们希望等待异步调用结束后继续执行后面的语句.这种形式和同步一样.那么怎么实现呢? 下面介绍两种实现方式: 1.简单方式 利用IAsyncResult中的IsCompleted属性 ...

最新文章

  1. Android权限申请完全解析(一):Android自带的权限申请
  2. GDCM:gdcm::LTComp的测试程序
  3. Python 越来越火,为什么?
  4. python魔术方法abstract_python学习之面向对象高级特性和魔术方法
  5. Spoonwep破解wep加密无线路由密码
  6. 389 Find the Difference 找不同
  7. java调用mq发送文件_谁有mq发送接收文件的java代码
  8. mysql核心内幕_MySQL核心内幕
  9. gps l1带宽_民用GPS接收机可达到的最高更新速率是多少?
  10. 数据库日志文件(databasename_log.ldf)太大 如何清除
  11. 添加内核驱动模块(1)(mydriver.c+ Konfig+Makefile )
  12. 数据结构:图的深度优先遍历和广度优先遍历
  13. 2021-01-05
  14. 计算机发展史上的重要人物和公司,汉字发展史上的重要人物
  15. 五、从命令行管理文件
  16. Python爬虫实战案例:取喜马拉雅音频数据详解
  17. keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect----gt;解决方法
  18. 结构体知识——声明,初始化,成员访问,传参
  19. ios应用跳转小程序Universal Links链接验证不通过
  20. 数学(零)零散知识点

热门文章

  1. gradle的二进制版本_Gradle入门:创建二进制分发
  2. Selenium WebDriver的TestNG注释完整指南
  3. gson 入门_Google GSON入门
  4. 测试驱动开发 测试前移_测试驱动陷阱,第2部分
  5. javadoc maven_Maven Fluido Skin和Javadoc类图
  6. 使用Spring Reactor Core进行分散收集
  7. 面向对象的代码生成方法
  8. 使用Project Jigsaw的JDK 9 Early Access上的Eclipse IDE
  9. ivy maven_将Maven与Ivy集成
  10. 如何使用Hibernate批处理INSERT和UPDATE语句