Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何打印其中一个函数生成的特定html?_Javascript_Html_Printing - Fatal编程技术网

Javascript 如何打印其中一个函数生成的特定html?

Javascript 如何打印其中一个函数生成的特定html?,javascript,html,printing,Javascript,Html,Printing,例如,我有以下功能: function getPrintedHTML() { //... return some_html_code; } 我知道我可以使用window.print()打印整个页面,但它可以打印整个页面。 是否可以执行任何操作来打印函数结果 请注意,打印时不将此html添加到正文。您可以隐藏页面中的其他元素,方法是将其余数据放在一个div中,并在上述函数中将div设为false您可以尝试使用iframe: var i = document.createEleme

例如,我有以下功能:

function getPrintedHTML()
{
    //...
    return some_html_code;
}
我知道我可以使用
window.print()
打印整个页面,但它可以打印整个页面。 是否可以执行任何操作来打印函数结果


请注意,打印时不将此html添加到正文。

您可以隐藏页面中的其他元素,方法是将其余数据放在一个div中,并在上述函数中将div设为false

您可以尝试使用
iframe

var i = document.createElement('iframe');
i.onload = function() {
    i.contentDocument.body.innerHTML = someHtml;
    i.contentWindow.print();
    setTimeout(function() {
        document.body.removeChild(i);
    }, 0);
};
document.body.appendChild(i);

@Collett89-但我需要打印它,而不是输出它。将返回的HTML添加到页面,从打印机隐藏所有其他元素(也可以从屏幕隐藏新创建的HTML),打印,最后删除新创建的HTML。抱歉,无法打印文本流中不存在的元素。无需JS,请使用准备页面<
style
link
标记中的code>media属性也适用于较旧的浏览器。我怀疑是否可能仅使用内联样式对打印机隐藏元素,但不确定。无论如何,使用样式表是最简单的。
media
attribute即使在IE5:)中也能工作。谢谢。很好,它不需要额外的CSS