我想在浏览器打印的每个页面上显示某个文本(一个 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。我的问题没有万无一失的解决方案吗?
问题:如何在浏览器打印的每个页面上显示特定文本,而不将其保存在浏览器历史记录中?
最佳答案
我会考虑使用打印媒体选择器,正如 Touffy 刚才提到的那样。
您可以有一段可以更改的文本,但只会针对打印机介质类型显示。
这个问题有你需要的 CSS 和一个小例子:
关于javascript - 从浏览器打印时更改页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32966188/