在 iOS 和 Android 上的 iframe 中使用 jquery 打印 iframe

Posted

技术标签:

【中文标题】在 iOS 和 Android 上的 iframe 中使用 jquery 打印 iframe【英文标题】:Print iframe using jquery inside iframe on iOS and Android 【发布时间】:2016-10-23 05:46:30 【问题描述】:

如何在 iosandroid 的 iframe 中使用 jquery 打印 iframe 窗口。我有以下适用于 IE、Chrome 和 Firefox 的代码,但在 Android 上,它似乎正在打印顶部带有 iframe 的整个父窗口。

if (document.queryCommandSupported('print')) 
    // IE and Chrome
    document.execCommand('print', false, null);
 else if((navigator.userAgent.toLowerCase().indexOf("android") > -1) || (navigator.userAgent.toLowerCase().match(/(ipod|iphone|ipad)/))) 
    // Android or iOS
    $('iframe').contentWindow.focus();
    $('iframe').contentWindow.print();
 else 
    // Firefox
    window.print();
 

我尝试使用 iframe 标记选择 iframe,但它似乎不起作用。请问有什么想法吗?

【问题讨论】:

【参考方案1】:

使用$('#iframe').contents(); 仅获取框架的内容。

【讨论】:

我正在使用 Jack Moore 的颜色框,我尝试了以下方法,但 iPad 上 Safari 中的打印预览显示空白页:$('.cboxIframe').focus(); $('.cboxIframe').contents().print(); 框架是否在同一个域中?否则,跨域策略将不允许您访问内容。 是的,它在同一个域中。

以上是关于在 iOS 和 Android 上的 iframe 中使用 jquery 打印 iframe的主要内容,如果未能解决你的问题,请参考以下文章

为啥 iframe 仅在 iOS 中为空白?

在 iOS 应用上的子 iFrame 和 PhoneGap 应用之间调用方法并传递参数

iOS (iPad) 上的 iframe 内容裁剪问题

如何强制 iframe 视频在 Android 设备上旋转到横向模式?

Chrome ios - iframe:window.open 不适用于 onload 处理程序

iframe在IOS上的布局错乱怎么解决