我想在浏览器打印的每个页面上显示某个文本(ID),就像Word文档中的标题一样。从四处查看周围有很多黑客攻击,似乎并不适用于所有浏览器和网站(How to use HTML to print header and footer on every printed page of a document?)。
我以为我可以在打印前更改网页标题,在浏览器添加的自动标题中显示ID,打印后将其重置为原始标题(ID不应该在那里离开页面时在标题中,由浏览器历史记录保存)。可以在所有浏览器中收听打印事件:https://stackoverflow.com/a/3619706/198953但是在使用以下代码在chrome中尝试时:
var mqList = window.matchMedia("print");
mqList.addListener(function (mql) {
if (mql.matches)
document.title = "a certain text";
else
document.title = origTitle;
});
在打印预览显示后,页面的标题会更新。现在,我可以在输入页面时将标题设置为ID,但我无法通过浏览器历史记录保存ID。我的问题没有万无一失的解决方案吗?
问题:如何在浏览器打印的每个页面上显示特定文本,而不将其保存在浏览器历史记录中?
答案 0 :(得分:0)
我会看一下像Touffy刚刚提到的那样使用打印媒体选择器。
您可以拥有一个可以更改的文本块,但只会显示打印机媒体类型。
这个问题有你需要的CSS和一个小例子:
答案 1 :(得分:-1)
您可以通过访问文档对象的 title 属性并将其设置为您的新值来简单地设置文档的标题。这是参考
document.title = "Some new title text";