在项目使用了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无法唤出打印界面
补充回答:
试了下
<object ...></object>
确实无法成功调用print()
方法, 不过你可以参考下 MDN - Printing, 创建一个iframe
对象来实现打印. 或者直接把你的<object ...></object>
替换成<iframe src="..." ...></iframe>
如果非得要使用
<object ...></object>
, 也可以参考 Print.js, 这个库实现了一些浏览器兼容