JavaScript和CSS能否控制浏览器打印设置的页眉页脚?
许多开发者希望利用JavaScript或CSS来控制浏览器打印对话框中的页眉页脚设置,例如默认取消勾选或自定义页眉页脚内容。然而,这并非易事,本文将深入探讨其可行性及局限性。
问题概述
目标是通过代码控制浏览器打印设置中的页眉页脚选项,具体要求:
- 默认禁用页眉页脚: 打印时默认不显示页眉页脚。
-
使用
@media print
自定义页眉页脚: 使用@media print
样式规则自定义页眉页脚内容,但此方法在使用printJS
插件时无效。
用户提供的代码片段如下:
html2canvas(this.$refs.templateToImg, { backgroundColor: null, useCORS: true, windowHeight: document.body.scrollHeight, }).then(canvas => { dom.style.height = 'calc(100vh - 400px)' dom.style.overflow = 'auto' const url = canvas.toDataURL('image/jpg') this.img = url const styles = "@media print { @page {height: 100%;@top-left {content: '页首内容';}@bottom-center {content: '页脚内容';}}}" printJS({ printable: url, type: 'image', documentTitle: this.previewTitle(), style: styles, onLoadingEnd: () => { this.printLoading = false dom.style.height = 'auto' dom.style.overflow = 'visible' } }) })
解决方案与限制
关键在于理解以下几点:
- 浏览器打印设置的不可控性: 浏览器打印设置(包括页眉页脚)由浏览器本身或操作系统控制,JavaScript和CSS无法直接干预。
-
@media print
的局限性:@media print
可控制打印样式,但不能直接修改浏览器打印设置。printJS
插件可能忽略通过@media print
设置的样式。 -
printJS
插件的特性:printJS
主要用于打印HTML内容或图片,不支持直接修改浏览器打印设置。 代码中尝试通过style
参数传递@media print
样式,但在printJS
中效果不佳。
因此,结论是:JavaScript和CSS无法直接控制浏览器打印设置的页眉页脚选项。 这属于浏览器和操作系统的权限范围。
要自定义页眉页脚,只能在打印内容中直接添加这些元素,并确保它们在打印时可见且不受打印插件影响。 开发者需要放弃直接控制浏览器打印设置的想法,转而关注在打印内容本身中实现页眉页脚的定制。
以上是如何通过JavaScript或CSS控制浏览器打印设置中的页首和页尾?的详细内容。更多信息请关注PHP中文网其他相关文章!

重构自己的代码看起来是什么样的?约翰·瑞亚(John Rhea)挑选了他写的一个旧的CSS动画,并介绍了优化它的思维过程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他们可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑战挑战InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)创造性

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版