js实现禁止打印
禁用浏览器打印功能的方法
在JavaScript中,可以通过多种方式阻止用户打印页面内容。以下是几种常见的方法:
阻止打印快捷键
通过监听键盘事件,可以拦截Ctrl+P或Cmd+P组合键:

document.addEventListener('keydown', function(e) {
if ((e.ctrlKey || e.metaKey) && e.keyCode === 80) {
e.preventDefault();
alert('打印功能已被禁用');
}
});
覆盖window.print方法
直接重写浏览器的打印方法:
window.print = function() {
console.log('打印功能已被禁用');
return false;
};
使用CSS隐藏打印内容
通过媒体查询隐藏所有内容:

@media print {
* {
visibility: hidden !important;
}
body:after {
content: "打印功能已被禁用";
visibility: visible;
display: block;
position: absolute;
top: 0;
left: 0;
}
}
禁用右键菜单中的打印选项
阻止上下文菜单显示:
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
注意事项
这些方法只能阻止普通用户的打印操作,无法完全阻止技术娴熟的用户获取内容。浏览器开发者工具或截图功能仍可能获取页面信息。
替代方案
考虑使用PDF或其他受控文档格式分发敏感内容,而非直接在网页上显示。服务器端权限控制是更可靠的保护方式。






