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

js实现禁止打印

2026-03-01 12:31:24JavaScript

使用CSS禁用打印

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

js实现禁止打印

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

监听打印事件并阻止

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

js实现禁止打印

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移除或禁用相关元素:

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

注意事项

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

标签: js
分享给朋友:

相关文章

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const cha…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现选题

js实现选题

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