有没有办法打印html源而不将其显示在窗口或标签中?

时间:2011-07-18 09:37:04

标签: asp.net-mvc-3 jquery printing

所以我有这种情况:

我对一个控制器动作执行一个ajax帖子,它返回一些完整的html源代码(即如果在浏览器中查看结果,你右键单击并选择了视图源,所有这些都会被返回)。 p>

现在我希望能够打印出那个html源,好像是在浏览器中显示的那样(即不是标记,而是用户在浏览器中显示的实际内容)。

必须在不打开新选项卡或窗口或弹出窗口的情况下完成此操作。可能吗?如果是这样的话?

由于

2 个答案:

答案 0 :(得分:1)

使用临时的隐形iframe怎么样?

var iframe = document.createElement('iframe');
iframe.style.display = 'none';
document.body.appendChild(iframe);
iframe.contentDocument.open();
iframe.contentDocument.write(html_source_here);
iframe.contentDocument.close();
iframe.contentWindow.print();
document.body.removeChild(iframe);

答案 1 :(得分:0)

是的,您可以通过创建DIV并通过调用innerHTML函数添加HTML来实现。

document.getElementById('yourNewDIV').innerHTML = htmlReceived;