web应用增加水印

需求背景

当前在做的项目 客户那边有需求需要增加水印,防止员工通过截图或者录屏泄露敏感信息,类似企业微信 如下图

需求调研

搜了一下实现web应用水印的方案大致分为几类,

1.使用背景图片 repeat

2.使用canvas绘制

3.js计算等 

都感觉比较麻烦

功能实现

思路是直接在body下加一个div 在div内循环span 添加水印内容。让当前这个div 处于 index最高层。会出现一个问题  最高层的div会遮盖主页面导致 页面上的操作失效。解决这个问题可以使用css的 pointer-events: none; 属性,禁止掉div的所有事件。代码如下

演示地址

<!DOCTYPE html>
<html lang="en">
	<head></head>
	<body>
		<div class="box-green">
			<a href="https://www.baidu.com/">跳转到百度</a>
		</div>
		<div class="box-mask" id="box"></div>

		<script>
		let box = document.getElementById('box')
		let html = ''
		for(var i =0; i<100; i++){
			html += '<span>用户张三/XX管理系统</span>'
		}

		box.innerHTML = html
		</script>
		<style>
		.box-green {
			width: 800px;
			height: 300px;
			background-color: green;
		}
		.box-mask{
			position: absolute;
			top:0;
			left: 0;
			width: 100vw;
			height: 100vh;
			background-color: transparent;
			opacity: 0.5;
			/* 取消鼠标事件 */
			
			overflow:hidden;	  
		}
		.box-mask span{
			display: inline-block;
			text-align: center;
			padding-top:20px;
			width:10%;
			height:100px;
			transform:rotate(25deg);
			z-index:999;
		}      
		</style>


	</body>

</html>

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值