当前位置:首页 > JavaScript

js实现打印打印预览

2026-04-04 00:33:36JavaScript

实现打印预览的方法

在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。但打印预览功能依赖于浏览器自身的支持,无法通过代码直接控制。以下是几种常见的实现方式:

js实现打印打印预览

使用window.print()方法

function printPage() {
    window.print();
}

调用该方法会打开浏览器的打印对话框,用户可以选择打印或预览(取决于浏览器)。

js实现打印打印预览

自定义打印样式

通过CSS媒体查询为打印页面设置特定样式,优化打印效果:

@media print {
    body * {
        visibility: hidden;
    }
    .print-section, .print-section * {
        visibility: visible;
    }
    .print-section {
        position: absolute;
        left: 0;
        top: 0;
    }
}

使用iframe实现局部打印

若需打印页面部分内容,可通过iframe实现:

function printPartial(selector) {
    const content = document.querySelector(selector);
    const iframe = document.createElement('iframe');
    iframe.style.display = 'none';
    document.body.appendChild(iframe);
    const frameDoc = iframe.contentDocument || iframe.contentWindow.document;
    frameDoc.open();
    frameDoc.write(content.innerHTML);
    frameDoc.close();
    setTimeout(() => {
        iframe.contentWindow.focus();
        iframe.contentWindow.print();
        document.body.removeChild(iframe);
    }, 300);
}

注意事项

  • 打印预览行为因浏览器而异,部分浏览器可能默认直接进入预览模式。
  • 移动端浏览器对打印功能的支持可能有限。
  • 可通过@pageCSS规则调整页边距等打印参数:
    @page {
      size: auto;
      margin: 10mm;
    }

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…