h5通过object引入对象导致window对象变化后 如何调用原window对象的print方法调用出打印界面?

在项目使用了window.print绑定在某个打印button以调用打印功能。但此时遇到了一种情况导致无法成功呼出打印界面:
页面中可能通过object标签插入了pdf的显示,此时再调用window.print无法呼出打印页面

调查了一下发现是因为通过object引入对象,导致window对象发生了改变
但尝试了半天找不回原来那个window对象,也无法唤出打印方法
所以通过object引入对象以后window对象发生了啥变化,如何呼出print方法呢?

<object style="width:100%;height: 100%;" type="application/pdf" :data="pdfSrc + '#view=fitH'"></object>

object的使用如上,此时使用window.print无法唤出打印界面

阅读 1k
1 个回答

image.png

补充回答:
试了下 <object ...></object> 确实无法成功调用 print() 方法, 不过你可以参考下 MDN - Printing, 创建一个 iframe 对象来实现打印. 或者直接把你的 <object ...></object> 替换成 <iframe src="..." ...></iframe>

如果非得要使用 <object ...></object>, 也可以参考 Print.js, 这个库实现了一些浏览器兼容

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题