0

我在页面上放置了一个 iframe 元素,当用户单击特定按钮时 - iframe(放置在 UpdatePanel 中)获取一个用我的 url 填充的 SRC 属性,并刷新更新面板。

这样我得到了 iframe 中显示的 PDF 文件,但是现在我想打印它。我得到

错误:访问属性“打印”的权限被拒绝

$('#ifOrderPrint').get(0).contentWindow.print();

PDF 文件由 ASPX 页面生成,该页面使用返回的 PDF

Respone.WriteBnary,并且此 URL 作为 SRC 属性传递给 iframe。 mypage.com/GetPdf.aspx?id=100

主页和 iframe src 都在同一个域中。

我发现,当我加载src属性时 - 链接得到前缀,http://并在调用时导致上述错误。
如果我在 firebug 中编辑 SRC 标记并删除前缀,则会收到 XML Parse 错误,但我可以访问print method (!)

是否存在链接不工作的 IIS 配置问题http://?如何访问 iframe 的打印方法?跨域安全不应该在这里应用为同一个域,有什么想法吗?

4

1 回答 1

0

您应该在 iframe 页面中声明一个函数,然后从 iframe 页面上的父窗口调用 window.print() 函数

在 iframe 中:

function childPrint()
{
   window.print();
}

来自父母的电话:

document.myFrameId.childPrint();
于 2013-09-28T12:14:13.557 回答