gpt4 book ai didi

javascript - 从 iframe 打印适用于除 IE11 以外的任何地方

转载 作者:行者123 更新时间:2023-11-30 19:50:11 27 4
gpt4 key购买 nike

我已经编写了在 iframe 的屏幕上显示 pdf blob 的代码,但我还希望它能够打印出来。我在除 IE11 之外的所有浏览器中都有这个工作。有人知道那里的解决方案吗?我阅读了一些有关 execCommand 的内容,但这似乎也不起作用。

const printElem = (invoice) => {
const origiframe = document.querySelector('iframe');
if (origiframe) {
origiframe.remove();
}
const iframe = document.createElement('iframe');
iframe.src = invoice;
iframe.name = 'pdf-frame';
iframe.id = 'pdf-frame';
iframe.style.display = 'none';
iframe.style.visibility = 'hidden';
document.body.appendChild(iframe);
window.frames['pdf-frame'].print();
}

更新:我应该能够使用类似下面的东西来让打印在所有浏览器上工作,但语法不清楚:

window.frames['pdf-frame'].document.execCommand('print',false,null);

UPDATE2:我也在尝试使用以下内容,但仍然没有骰子。任何人都知道为什么 catch 部分在 IE11 中不起作用?

try {
window.frames['pdf-frame'].print();
} catch(e) {
window.frames['pdf-frame'].document.execCommand('print',false,null);
}

最佳答案

如果你试试这个?

var target= document.getElementById("myFrame");
try {
target.contentWindow.document.execCommand('print', false, null);
} catch(e) {
target.contentWindow.print();
}

关于javascript - 从 iframe 打印适用于除 IE11 以外的任何地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54562835/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com