在cbjsonline.com,我正在尝试使用javascript自动在iframe中打印pdf。
目前,我的代码是 - (连接到打开iframe的链接的onclick) - document.getElementById('fancy_frame').onload = setTimeout('window.print()',2500);
有什么建议吗?此方法仅适用于safari。
答案 0 :(得分:2)
尝试将函数指针传递给setTimeout,而不是传递得到的表达式。
document.getElementById('fancy_frame').onload = setTimeout( printWindow, 2500 );
// implemented in the HTML that is loaded in 'fancy_frame'
function printWindow()
{
window.print();
}
答案 1 :(得分:0)
好的,我决定让用户打印页面。 我认为带有PDF的iFrames变化太大,试图用javascript打印。 如果有人想尝试这个,这就是我推荐的。 使用jquery load来检查资产,而不仅仅是加载,而不是onload handeler,因为adobe reader的延迟在计算机之间变化很大。 另外,在打印之前尝试命名和聚焦iframe(通过名称,iframe.print(),而不是window.print()),这样就不会尝试打印当前页面。 将scribd ipaper viewer用于此应用程序可能是一个更好的主意。