javascript - 打印后清除网页

标签 javascript html

我正在尝试打印特定 DIV 的内容,打印 DIV 后,必须正确修复网页,但它只显示我刚刚打印的 DIV 并隐藏实际网页。你猜出什么问题了吗?

我的代码是

function printdiv(printpage)
{
var newstr = document.all.item(printpage).innerHTML;
document.body.innerHTML = newstr;
window.print();
window.close();
}

<img src="im/print.png" onClick="printdiv('mytabprint');" width="50" />

上面的代码中mytabprint是我要打印的DIV元素。

最佳答案

Any guess what's wrong?

是的,您没有“隐藏”其他内容,您实际上是用您的 div 替换整个页面内容:

document.body.innerHTML = newstr;

您可以简单地使用打印样式表。例如,将其添加到您的 CSS 中:

@media print {
   /* 
   rules that only apply for printing 
   like hiding some content
   */
}

或者链接一个单独的CSS用于打印

<link rel="stylesheet" href="your_css.css" type="text/css" media="print" />

关于javascript - 打印后清除网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17171645/

相关文章:

javascript - 使用 javascript 读取文本框用户输入并插入超链接

javascript - 多个数据源导致 `invalid array width!` 错误

javascript - jquery 选择器提取子元素并附加到另一个元素

javascript - 将插入符号放在 ContentEditable 中插入的标记之外

javascript - 如何仅在 CSS 中创建具有绝对顶部和底部以及固定边的边框?包括图像

javascript - 如何在 Javascript 中获取每个月的指定日期?

javascript - MongoDB JSON 中没有引号

html 从剪贴板副本中排除文本

html - 如何在向下滚动时隐藏导航菜单栏,它应该出现在使用 angularjs 向上滚动时?

html - 绝对定位和overflow-x