cbjsonline.com 上,我正在尝试在iframe中打印pdf自动使用javascript。

目前,我的代码是 - (连接到打开iframe的链接的onclick) - document.getElementById('fancy_frame')。onload = setTimeout('window.print()',2500);

有什么建议吗?此方法仅适用于safari。

有帮助吗?

解决方案

尝试将函数指针传递给setTimeout,而不是传递得到的表达式。

document.getElementById('fancy_frame').onload = setTimeout( printWindow, 2500 );

// implemented in the HTML that is loaded in 'fancy_frame'
function printWindow()
{
    window.print();
}

其他提示

好的,我决定让用户打印页面。 我认为带有PDF的iFrames变化太大,试图用javascript打印。 如果有人想尝试这个,这就是我推荐的。 使用jquery load来检查资产,而不仅仅是加载,而不是onload handeler,因为adobe reader的延迟在计算机之间变化很大。 另外,在打印之前尝试命名和聚焦iframe(通过名称,iframe.print(),而不是window.print()),这样就不会尝试打印当前页面。 将scribd ipaper viewer用于此应用程序可能是一个更好的主意。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top