js实现禁止打印
使用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移除或禁用相关元素:
document.getElementById('printButton').style.display = 'none';
// 或直接移除
document.getElementById('printButton').remove();
注意事项
- 以上方法无法完全阻止用户通过浏览器菜单手动选择打印,但能大幅降低打印可能性。
- 部分浏览器可能限制对打印事件的拦截,需测试兼容性。
- 企业级场景建议结合后端权限控制,彻底限制打印功能。






