* {…">
当前位置:首页 > JavaScript

js实现禁止打印

2026-03-01 12:31:24JavaScript

使用CSS禁用打印

在HTML的<head>部分添加以下CSS代码,可以隐藏所有内容,阻止用户打印页面:

<style media="print">
  * {
    display: none !important;
  }
</style>

监听打印事件并阻止

通过JavaScript监听浏览器的打印事件(beforeprint),在触发时取消打印操作或跳转页面:

window.addEventListener('beforeprint', function(e) {
  e.preventDefault();
  alert('打印功能已禁用');
  window.location.href = 'about:blank'; // 可选:跳转空白页
});

禁用打印快捷键

拦截键盘事件,阻止用户通过Ctrl+P(Windows)或Cmd+P(Mac)调起打印对话框:

document.addEventListener('keydown', function(e) {
  if ((e.ctrlKey || e.metaKey) && e.key === 'p') {
    e.preventDefault();
    alert('禁止使用打印功能');
  }
});

隐藏打印按钮

若页面有打印按钮,可通过JavaScript移除或禁用相关元素:

js实现禁止打印

document.getElementById('printButton').style.display = 'none';
// 或直接移除
document.getElementById('printButton').remove();

注意事项

  • 以上方法无法完全阻止用户通过浏览器菜单手动选择打印,但能大幅降低打印可能性。
  • 部分浏览器可能限制对打印事件的拦截,需测试兼容性。
  • 企业级场景建议结合后端权限控制,彻底限制打印功能。

标签: js
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取 jQ…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…