Javascript:在页面加载时打印 iframe 的内容不起作用

Javascript: printing the contents of iframe on page load not working

背景:我的网络应用程序中有一个页面,其中包含一个显示 pdf 文件的 iframe。

我需要浏览器的打印预览 window 在我的网络应用程序中加载此页面后立即显示。打印预览 window 将包含 iframe 的内容并进行打印。 目前,我在 iframe 的加载事件上绑定了一个函数,如下所示:

$('#iframe').load(function () {
    $("#iframe").get(0).contentWindow.print();
});

这在我本地调试时工作正常。但是当我上传到服务器时,打印预览屏幕不会自动弹出。事实上,我必须先点击一个按钮或元素才能出现。有解决办法吗?

提前致谢..

试试这个,

window.frames['#iframe'].focus();
window.frames['#iframe'].print();

许多使用 jQuery 或普通 javascript 的方法都没有解决问题。但是,在我为打印功能设置了 1 秒的延迟后,它起作用了!

 setTimeout(function () {   
        $("#iframe").get(0).contentWindow.print();
    }, 1000);

估计跟服务器有关。它可能需要额外的时间来处理 iframe

中的 pdf