当前位置:首页 > JavaScript

js实现弹出窗口打印

2026-03-01 17:05:02JavaScript

使用 window.print() 方法

通过 window.print() 可以直接调用浏览器的打印功能,弹出打印对话框。适用于打印当前窗口内容或指定区域。

// 打印整个页面
function printPage() {
  window.print();
}

// 打印指定元素(需配合CSS隐藏其他内容)
function printElement(elementId) {
  const printContent = document.getElementById(elementId).innerHTML;
  const originalContent = document.body.innerHTML;
  document.body.innerHTML = printContent;
  window.print();
  document.body.innerHTML = originalContent; // 恢复原内容
}

指定打印样式(CSS)

通过 @media print 控制打印时的样式,隐藏非必要元素(如导航栏、按钮)。

@media print {
  .no-print {
    display: none;
  }
  body {
    font-size: 12pt;
    margin: 0;
    padding: 0;
  }
}

使用 iframe 打印特定内容

动态创建 iframe,加载需打印的内容后调用打印。

function printIframe(content) {
  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);
  frameDoc.close();
  setTimeout(() => {
    iframe.contentWindow.focus();
    iframe.contentWindow.print();
    document.body.removeChild(iframe);
  }, 300);
}

注意事项

  • 浏览器兼容性window.print() 主流浏览器均支持,但样式可能因浏览器差异需额外调整。
  • 弹出限制:部分浏览器可能拦截打印弹窗,需用户手动允许。
  • 内容恢复:若修改 DOM 打印指定区域,完成后需及时恢复原始内容。

js实现弹出窗口打印

标签: 弹出窗口js
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-contain…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClip…

js实现二叉树

js实现二叉树

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