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

时间:2015-01-19 01:09:35

标签: javascript jquery iframe

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

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

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

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

提前致谢..

2 个答案:

答案 0 :(得分:1)

试试这个,

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

答案 1 :(得分:1)

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

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

我想它与服务器有关。可能需要额外的时间来处理iframe中的pdf