我试图在Fancybox 2中打开一个30页的PDF文档,PDF文档是使用TCPDF生成的,然后需要在屏幕上显示,以便用户可以打印或保存它。当脚本完成时,fancybox加载图形将永远显示,并且不会打开iframe。它可以在Firefox中运行,但不能在Chrome或IE中运行。
如果我把页数减少到23页,我也试过先创建pdf并保存到服务器,然后使用下面的javascript打开它。
delivery_pdf.php是创建TCPDF的脚本,然后将其保存为delivery2.pdf
$.get('delivery_pdf.php',
{
type:0,
this_id:new_tick,
delivery_run_date:dd
},function(data)
{
$.fancybox.open(
{
type: 'iframe',
href: 'delivery2.pdf'
});
$("#loader").hide();
});
PDF已经创建,通过将链接直接放在浏览器栏中打开文件。
提前感谢。
据报道,Chrome和IE都有这种行为,最快的解决方法是禁用fancybox的iframe
preload
,所以尝试:
$.get('delivery_pdf.php', {
type: 0,
this_id: new_tick,
delivery_run_date: dd
}, function (data) {
$.fancybox.open({
type: 'iframe',
href: 'delivery2.pdf',
iframe: {
preload: false
}
});
$("#loader").hide();
});
您也可以在这里查看报告的问题和解决方法https://github.com/fancyapps/fancyBox/issues/579以获得进一步参考。