瀏覽器打印設置:無法通過代碼取消頁眉頁腳默認勾選
網頁打印功能常常需要精細控制頁眉頁腳。本文探討如何通過JavaScript或css取消瀏覽器打印設置中頁眉頁腳的默認勾選。 近期,有用戶反饋,使用JavaScript和printJS插件時,無法通過代碼取消默認勾選,且@media print樣式失效。
用戶代碼片段如下,使用html2canvas和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' } }) })
經分析,瀏覽器打印設置屬于系統級功能,用戶在打印對話框中手動控制。雖然@media print可自定義打印樣式,但無法直接影響瀏覽器打印設置的默認勾選狀態。 printJS插件的打印機制與標準瀏覽器打印機制不同,導致@media print樣式失效。
因此,目前無法通過編程手段取消瀏覽器打印設置中的頁眉頁腳默認勾選。建議用戶打印前手動調整打印設置,或探索其他間接實現方法。
立即學習“Java免費學習筆記(深入)”;
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦