加载iFrame并打印它

时间:2014-06-01 15:19:42

标签: javascript jquery html iframe

我有一个隐藏iframe的ASPX页面 我正在尝试:在按钮上单击将另一个页面加载到隐藏的iFrame中并打印它的内容:

$("#shareButtonPrint").click(function () {
        $("#PrintFrame").attr('src', '/ProtocolPrintPage.aspx?g=1');
        $("#PrintFrame").ready(function () {
            window.frames['PrintFrame'].print();
        });

    });

但上面的代码不起作用。

仅当我在主页加载时加载iframe时才有效:

$("#PrintFrame").attr('src', '/ProtocolPrintPage.aspx?g=1');
    $("#shareButtonPrint").click(function () {
        //$("#PrintFrame").attr('src', '/ProtocolPrintPage.aspx?g=1');
        window.frames['PrintFrame'].print();
    });

如何在点击按钮时加载iframe?

1 个答案:

答案 0 :(得分:1)

这可能是因为当您尝试打印iframe时尚未加载iframe

也许尝试使用load代替ready

查看我的示例

http://jsfiddle.net/andyw_/umYkV/451/

仅在最新的chrome + IE8-10中测试过。

另请注意,load已弃用

http://api.jquery.com/category/deprecated/

新方法是on('load', fn)