html5中如何实现SDK水印
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"html5中如何实现SDK水印",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"html5中如何实现SDK水印"吧!网页水印SDK,实现思路
千家信息网最后更新 2025年01月19日html5中如何实现SDK水印
本篇内容主要讲解"html5中如何实现SDK水印",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"html5中如何实现SDK水印"吧!
网页水印SDK,实现思路
1.能更具获取到的当前用户信息,如名字,昵称,ID等,生成水印
2.生成一个Canvas,覆盖整个窗口,并且不影响其他元素
3.可以修改字体间距,大小,颜色
4.不依赖Jquery
5.需要防止用户手动删除这个Canvas
实现分析
初始参数
size: 字体大小color: 字体颜色id: canvasIdtext: 文本内容density: 间距clarity: 清晰度supportTip: Canvas不支持的文字提示
生成Canvas
根据id生成Canvas,画布大小为window.screen大小,若存在原有老的Canvas,清除并重新生成。
画布固定定位在可视窗口,z-index为-1
let body = document.getElementsByTagName('body'); let canvas = document.createElement('canvas'); canvas.style.cssText= 'position: fixed;width: 100%;height: 100%;left:0;top:0;z-index: -1;'; body[0].appendChild(canvas);
指纹生成算法
let canvas = document.getElementById(this.params.id); let cxt = canvas.getContext('2d'); let times = window.screen.width * this.params.clarity / this.params.density;//横向文字填充次数 let heightTimes = window.screen.height * this.params.clarity * 1.5/ this.params.density; //纵向文字填充次数 cxt.rotate(-15*Math.PI/180); //倾斜画布 for(let i = 0; i < times; i++) { for(let j = 0; j < heightTimes; j++) { cxt.fillStyle = this.params.color; cxt.font = this.params.size + ' Arial'; cxt.fillText(this.params.text, this.params.density*i, j*this.params.density); } }
防止用户删除
使用定时器,定时检查指纹是否存在
let self = this; window.setInterval(function(){ if (!document.getElementById(self.params.id)) { self._init(); } }, 1000);
项目编译
使用glup编译
var gulp = require('gulp'), uglify = require("gulp-uglify"), babel = require("gulp-babel"); gulp.task('minify', function () { return gulp.src('./src/index.js') // 要压缩的js文件 .pipe(babel()) .pipe(uglify()) .pipe(gulp.dest('./dist')); //压缩后的路径 });
到此,相信大家对"html5中如何实现SDK水印"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
生成
水印
大小
内容
字体
文字
用户
画布
指纹
次数
间距
颜色
学习
编译
实用
更深
信息
元素
兴趣
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全信息采集
软件开发需要笔记本电脑配置
代理服务器免费版
快速安卓软件开发
福田专业的网络安全服务
河北软件开发者一般去哪些网站
南京好的软件开发单位
江苏人人保网络技术有限公司
社会实践报告网络安全调查
衢州数据网络技术怎么样
中石油网络安全大会
操作系统数据库三个核心
ping服务器命令
我的世界服务器线的获得方法
用数据库做系统
网络安全部门春联
服务器日志在哪里看
思想汇报 网络安全
互联网科技有限公司税收
网络安全信息安全通讯稿范文
阿里ecs云服务器防护
网络安全周宣传2017年
网络安全教育个人查摆剖析
vc ftp服务器
无线网络技术教程视频
儿童客户端数据库密码忘记
网络安全22条第三款规定
最强蜗牛怎么换服务器
sql数据库无法开始
网络安全征文优秀标题