讲师中心 微信公众号

工具推荐

视频效率加速
剧云
剧云

中文短剧剧本制作平台

updream

一键生成高质量推广成片

Seko
Seko

AI短剧一键生成成片

Laper
Laper

剧本策划到成片协作

JavaScript如何实现打印功能_window.print()如何定制?

千丽姑娘_1960

千丽姑娘_1960

发布时间:2025-12-26 17:37:02

|

233人浏览过

|

来源于php中文网

原创

window.print()需配合@media print精准控制打印内容与样式,隐藏非必要元素、优化字体颜色、禁用背景图,动态替换DOM可实现定制化打印,注意分页控制与浏览器兼容性。

javascript如何实现打印功能_window.print()如何定制?

直接调用 window.print() 会打印整个页面,但实际业务中常需隐藏导航栏、按钮、广告等非内容元素,或调整样式适配打印效果。关键不是“能不能打印”,而是“怎么只打想打的部分,并且打得清楚美观”。

用CSS媒体查询精准控制打印样式

浏览器在触发打印时会识别 @media print 规则,这是定制打印效果最标准、最可靠的方式。

  • 把不想打印的元素设为 display: none,例如:
    .header, .sidebar, .print-hide { display: none !important; }
  • 为打印专门优化字体、颜色和间距:
    @media print { body { font-size: 12pt; color: #000; line-height: 1.4; } a { color: #000; text-decoration: none; } }
  • 避免背景图和颜色干扰墨水消耗(尤其黑白打印机):
    @media print { * { background: transparent !important; } }

动态切换内容再打印:临时替换DOM

当需要打印的内容与页面展示结构差异较大(比如带图表的详情页要转成纯文本报告),可临时构建一个精简版DOM,打印完再还原。

DeepBI DHTML 页面生成器
DeepBI DHTML 页面生成器

生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur

下载
  • 创建一个隐藏的 <div id="print-area">,只放入待打印的HTML片段<li>用 <code>document.body.innerHTML 备份原内容,再替换成打印区域内容
  • 调用 window.print(),之后立即恢复原DOM
  • 注意:部分浏览器(如Chrome)在打印对话框打开后会暂停JS执行,建议用 setTimeout 延迟恢复,或监听 afterprint 事件(兼容性有限,仅Chrome/Edge支持)
  • 避免常见坑:分页与内容截断

    长内容容易在不该断的地方分页,影响可读性。CSS提供了一些实用控制手段:

    立即学习“Java免费学习笔记(深入)”;

    • 用 page-break-inside: avoid 防止表格、卡片被切开
    • 用 break-before: always 或 page-break-before: always 强制某元素前分页(如每个章节标题前)
    • 慎用 position: fixed 或 absolute 元素——它们可能在打印时消失或错位
    • 测试时用浏览器的“打印预览”(Ctrl+P)而非截图,真实反映分页逻辑

    补充技巧:触发打印前做轻量准备

    提升用户体验的小细节,不增加复杂度但很实用:

    • 打印前自动聚焦到内容区,避免因焦点在输入框导致打印空白页
    • 禁用打印按钮本身(防止重复点击),打印结束后再启用
    • 对含图片的页面,可提前检查图片是否加载完成(监听 img.onload),避免打印出空白占位
    • 移动端需注意:Safari iOS 对 window.print() 支持有限,部分机型会静默失败,建议降级提示“请手动分享为PDF”

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2986

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

6199

2023.11.06

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

4427

2026.03.24

edge是什么浏览器
edge是什么浏览器

Edge是一款由Microsoft开发的网页浏览器,是Windows 10操作系统中默认的浏览器,其目标是提供更快、更安全、更现代化的浏览器体验。本专题为大家提供edge浏览器相关的文章、下载、课程内容,供大家免费下载体验。

3162

2023.08.21

IE浏览器自动跳转EDGE如何恢复
IE浏览器自动跳转EDGE如何恢复

ie浏览器自动跳转edge的解决办法:1、更改默认浏览器设置;2、阻止edge浏览器的自动跳转;3、更改超链接的默认打开方式;4、禁用“快速网页查看器”;5、卸载edge浏览器;6、检查第三方插件或应用程序等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3074

2024.03.05

如何解决Edge打开但没有标题的问题
如何解决Edge打开但没有标题的问题

若 Microsoft Edge 浏览器打开后无标题(窗口空白或标题栏缺失),可尝试以下方法解决: 重启 Edge:关闭所有窗口,重新启动浏览器。 重置窗口布局:右击任务栏 Edge 图标 → 选择「最大化」或「还原」。 禁用扩展:进入 edge://extensions 临时关闭插件测试。 重置浏览器设置:前往 edge://settings/reset 恢复默认配置。 更新或重装 Edge:检查最新版本,或通过控制面板修复

3412

2025.04.24

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

3460

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

269

2026.02.03

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

20

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn