在Firefox中打印PDF iframe

时间:2012-04-15 20:33:32

标签: php javascript jquery html pdf

是的,我已经看到了关于这方面的其他问题,但他们没有帮助我,所以这是代码

    $("#raspe4atat_<?= $ui->item_id ?>").click(function(){
    //alert(555);
    $.ajax({

            url: "/raspe4atat/<?= $ui->item_id ?>",
            type: "GET",
            success: function(){

            $.ajax({

                url: "/iframe/<?= $ui->item_id ?>",
                type: "GET",
                success: function(r){


                        $("#not_enough_money_<?= $ui->item_id ?>").append(r);

                        setTimeout(function(){

                        document.getElementById('pdf_<?= $ui->item_id ?>').contentWindow.print();
                        //window.frames['iframe_<?= $ui->item_id ?>'].print();

                        }, 1000);
                    }
            })

            }})


    return false;

    })

这是iframe:

<iframe name="iframe_<?= $ui->item_id ?>" style="position: absolute; top: -1000px;" id="pdf_<?= $ui->item_id ?>" src="<?= base_url().'pdf/'."coupon_info_".$ui->user_id.'.pdf' ?>" width="0" height="0">
</iframe>

此代码适用于谷歌浏览器,但在Firefox中却没有。

首先它在服务器中创建pdf,然后它在页面中生成,然后它等待1秒然后打印它,但它不能在Firefox中工作,如果我取消注释行,然后firefox问我是否想要停止更多对话窗口?你能救我吗?

1 个答案:

答案 0 :(得分:0)

在我看来,您正在检查的浏览器将过时,因为我已经在所有浏览器中检查了以下代码,并且工作正常。 我检查了Chrome,Firefox和Opera,并检查了IE,它在所有浏览器中都运行良好。

因此,请先更新您的浏览器。

window.frames['iframe_1'].focus();
window.frames['iframe_1'].print();