前端网页防截屏防打印



这里主要演示防止打印与防止截屏。

看了很多文章,试了很多方法,最终实现了这样的效果。

如何防止别人下载打印,首先是禁用各种快捷键,然后是用帧动画去网页不可见区域中加上一些遮罩防止打印。

如何防止截屏可以根据页面丢失焦点与获取焦点,获取焦点的时候给网页滚动事件绑定页面处理函数可以正常显示网页,失去焦点的时候取消绑定网页处理函数。所谓的网页处理函数就是在网页滚动的时候处理所有的标签,判断标签是否处于当前视窗,处于则透明度改为1,否则是0.

可以截取一页,因为一页都不让截取的话页面一闪一闪肯容易让人想到是可以检测到失去焦点这个动作。

禁用javascript也是破解不了的,因为我们的网页之所以正常观看就是通过js实现的。禁用之后网页正常显示不了了。

当然还有些骚操作不停的将剪切板内容设置为空,影响体验而且现在剪切板会访问权限,不能像原来一样随便玩。

不要试图在控制台调试代码,因为还有无限debugger,代码混淆,内存爆破,关机代码等着你呢

就算你过五关斩六将,页面的水印也能让你收到律师函。

$(document).ready(function () {
// Function to check if an element is in the current view
function isElementPartiallyInViewport(el) {
var rect = el.getBoundingClientRect();
var windowHeight = window.innerHeight || document.documentElement.clientHeight;
var windowWidth = window.innerWidth || document.documentElement.clientWidth;

return (
rect.bottom > 0 &&
rect.right > 0 &&
rect.top < windowHeight &&
rect.left < windowWidth
);
}

function handleScroll() {
$('p,h1,h2,h3,ol,pre').each(function () {
if (isElementPartiallyInViewport(this)) {
$(this).removeClass('hidden');
} else {
$(this).addClass('hidden');
}
});
}

// 初始化时绑定滚动事件
$(window).on('scroll', function () {
handleScroll();
});

// 当页面获得焦点时
$(window).on('focus', function () {
console.log('获取焦点了');
handleScroll();
$(window).on('scroll', function () {
handleScroll();
});
});

// 当页面失去焦点时
$(window).on('blur', function () {
// 解绑滚动事件监听
console.log('失去焦点了');
$(window).off('scroll');
});
});



0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP