后台管理系统加水印(react)

server/2024/10/22 17:39:30/

效果

代码图片

代码

javascript">window.waterMark = function (config) {var defaultConfig = {content: `我是水印`,fontSize: '16px',opacity: 0.3,rotate: '-15',color: '#ADADAD',modalId: 'J_waterMarkModalByXHMAndDHL',};config = Object.assign({}, defaultConfig, config);var existMarkModalDom = document.getElementById(config.modalId);if (existMarkModalDom) {document.body.removeChild(existMarkModalDom);}var markModalDom = document.createElement('div');markModalDom.setAttribute('id', config.modalId);markModalDom.style['position'] = 'fixed';markModalDom.style['top'] = 0;markModalDom.style['left'] = 0;markModalDom.style['bottom'] = 0;markModalDom.style['right'] = 0;markModalDom.style['background-color'] = 'transparent';markModalDom.style['pointer-events'] = 'none';markModalDom.style['z-index'] = 9999;markModalDom.style['overflow'] = 'hidden';var markContentDom = document.createElement('span');markContentDom.style['position'] = 'relative';markContentDom.style['display'] = 'inline-block';markContentDom.style['max-width'] = '33%';markContentDom.style['min-width'] = '400px';markContentDom.style['padding'] = '80px 0';markContentDom.style['height'] = '100px';markContentDom.style['text-align'] = 'center';markContentDom.style['opacity'] = config.opacity;markContentDom.style['pointer-events'] = 'none';var markContentTxtDom = document.createElement('span');markContentTxtDom.innerHTML = config.content;markContentTxtDom.style['position'] = 'absolute';markContentTxtDom.style['display'] = 'inline-block';markContentTxtDom.style['pointer-events'] = 'none';markContentTxtDom.style['top'] = '50%';markContentTxtDom.style['left'] = '80%';markContentTxtDom.style['transform'] = 'translate(-50%, -50%) rotate(' + config.rotate + 'deg)';markContentTxtDom.style['font-size'] = config.fontSize;markContentTxtDom.style['color'] = config.color;markContentDom.appendChild(markContentTxtDom);var contentHtml = markContentDom.outerHTML;var allContentHtml = '';for (var i = 0; i < 100; i++) {allContentHtml += contentHtml;}markModalDom.innerHTML = allContentHtml;document.body.appendChild(markModalDom);
};

使用方法

  • components文件夹下创建Watermark文件夹
  • Watermark文件夹下创建index.js文件
  • 将以上代码粘贴进去
  • 在项目入口文件引入   import './components/Watermark/index'

  • 直接调用   waterMark() //全局加水印

操作完看看效果吧!!!

注:本人前端小白 ,如有不对的地方还请多多指教


http://www.ppmy.cn/server/3140.html

相关文章

TCP/IP常用协议栈图解

1.引言 最近看了一些计算机网络的课程&#xff0c;总结借鉴了一些TCP/IP常用协议&#xff0c;罗列在以下图中&#xff0c;以便有一个整体观。 2.图解 先上图 3.总结 TCP/IP协议是实际用的计算机网络通信的标准协议栈&#xff0c;自上而下分为应用层&#xff0c;传输层&#xf…

Sentinel 流控注解使用

大概原理&#xff1a;通过反射解析注解 SentinelResource信息完成调用&#xff0c;处理方法&#xff0c;类似AOP编程 处理方法的返回类型要保持一致&#xff0c;参数和顺序保持一致&#xff0c; 可以在参数列表最后加 com.alibaba.csp.sentinel.slots.block.BlockException; …

什么是XXE攻击?如何进行防护

安全性很难做到正确&#xff0c;即使在当今具有安全意识的世界中&#xff0c;也存在一些严重的漏洞&#xff0c;例如 XML 外部实体 (XXE)&#xff0c;它们被忽视并最终成为破坏的原因。 XML 外部实体 (XXE) 攻击是一种计算机安全漏洞&#xff0c;通常存在于 Web 应用程序中&…

flink on k8s部署

在 Kubernetes 上部署一套 Flink 集群需要使用 Kubernetes 原生资源和工具,如 StatefulSet、Deployment、Service 等,或使用专门的 Flink Operator 来自动化和简化 Flink 集群的部署和管理。以下是一般的部署步骤: 使用 Flink Operator 部署 Flink 集群: 安装 Flink Opera…

PostgreSQL恢复系列:pg_filedump批量处理---惜分飞

pg_filedump工具使用起来比较麻烦,主要存在问题&#xff1a; 1. 需要人工一个个枚举各个列类型无法实现批量恢复,参考以前写的PostgreSQL恢复系列:pg_filedump基本使用 2. 特别是在pg库无法正常运行的情况下,如果没有业务提供表创建语句,恢复基本上无法正常进行. 基于这两个问题…

SSLHandshakeException: Remote host closed connection during handshake异常处理

请求第三方https接口出现SSLHandshakeException: Remote host closed connection during handshake问题&#xff0c;本地正常&#xff0c;服务器异常。原因是服务器jdk版本是jdk1.8_40 现阶段找到三个方案&#xff0c;第一个是jdk1.8_151版本 添加或者修改Java\jre\lib\securit…

720云手机电动云台全新上市,让手机能自动拍摄亿万像素VR全景

2024年3月&#xff0c;720云正式发布手机拍摄专业级VR全景的云台——720云手机电动云台(LG-05)&#xff0c;这款云台极大程度上把拍摄过程简化到极致。云台电机搭载先进的2.4G/蓝牙双模无线遥控功能和4500mAh电池&#xff0c;保证了无需连续充电的长时间使用。全自动拍摄模式和…

MongoDB 索引全攻略

目录 一、索引介绍 1.1 单字段索引 1.2 复合索引 1.3 多键索引 1.4 主键索引 1.5 TTL 索引 1.6 地理空间索引 1.7 哈希索引 1.8 创建索引时注意事项 1.9 索引效果查看 二、索引实现原理 2.1 为什么使用 B-Tree 三、执行计划 一、索引介绍 任何数据库都有索引这一核心功能&…