默认情况下,当您打印网页时,页面标题和URL打印在页面顶部,同样日期和时间打印在底部。
当您通过 PAGE SETUP 菜单(在 Internet Exp 中的 FILE 下)打印时,可以删除此附加项
有谁知道通过 CSS 或 javascript 做到这一点的方法吗?
默认情况下,当您打印网页时,页面标题和URL打印在页面顶部,同样日期和时间打印在底部。
当您通过 PAGE SETUP 菜单(在 Internet Exp 中的 FILE 下)打印时,可以删除此附加项
有谁知道通过 CSS 或 javascript 做到这一点的方法吗?
从历史上看,让这些东西消失是不可能的,因为它们是用户设置,不被视为您可以控制的页面的一部分。
但是,截至 2017 年,@page
at-rule已标准化,可用于在现代浏览器中隐藏页面标题和日期:
@page { size: auto; margin: 0mm; }
打印 Web 文档时,在浏览器的页面设置(或打印设置)对话框中设置边距。这些边距设置虽然在浏览器中设置,但在操作系统/打印机驱动程序级别进行控制,在 HTML/CSS/DOM 级别无法控制。(对于 CSS 控制的打印页眉和页脚,请参阅打印页眉。)
设置必须足够大以包含打印机的物理非打印区域。此外,它们必须足够大以包含浏览器通常配置为打印的页眉和页脚(通常是页面标题、页码、URL 和日期)。请注意,这些页眉和页脚虽然由浏览器指定并且通常通过用户首选项进行配置,但它们不是网页本身的一部分,因此不受 CSS 控制。在 CSS 术语中,它们不属于页面框 CSS2.1 第 13.2 节。
... 即将页边距设置为 0 会隐藏页面标题,因为标题打印在页边距中。
感谢Vigneswaranš此提示。
这很简单。只需使用css。
<style>
@page { size: auto; margin: 0mm; }
</style>
页面标题的可能解决方法:
document.title = "Print page title"; window.print();
这应该适用于每个浏览器。
您可以在样式表中添加它:@page{size:auto; margin:5mm;}
但这也会丢弃页码
完成 Kai Noack 的回答,我会这样做:
var originalTitle = document.title;
document.title = "Print page title";
window.print();
document.title = originalTitle;
这样一旦你打印页面,这将恢复到原来的标题。