vue怎么更换自定义水印(Vue之全局水印的实现示例)
类别:编程学习 浏览量:1837
时间:2021-10-04 01:38:09 vue怎么更换自定义水印
Vue之全局水印的实现示例目录
- 1.创建水印Js文件
- 2.引入操作
- 2.1 在App.vue中引用或其他页面
- 2.2 在router配置文件中引用
【需求】系统内页面显示水印,登录页面没有水印(退出登录时,登录页面不会显示水印)
/* * @Author: 刘小二 * @Date: 2021-07-15 14:43:27 * @LastEditTime: 2021-07-15 15:00:27 * @LastEditors: Please set LastEditors * @Description: 添加水印 * @FilePath: /huashijc_MeetingSys/src/common/warterMark.js */ 'use strict' let watermark = {} let setWatermark = (str) => { let id = '1.23452384164.123412415' if (document.getElementById(id) !== null) { document.body.removeChild(document.getElementById(id)) } let can = document.createElement('canvas') can.width = 250 can.height = 120 let cans = can.getContext('2d') cans.rotate(-15 * Math.PI / 150) cans.font = '20px Vedana' cans.fillStyle = 'rgba(200, 200, 200, 0.20)' cans.textAlign = 'left' cans.textBaseline = 'Middle' cans.fillText(str, can.width / 8, can.height / 2) let li = document.createElement('li') li.id = id li.style.pointerEvents = 'none' li.style.top = '35px' li.style.left = '0px' li.style.position = 'fixed' li.style.zIndex = '100000' li.style.width = document.documentElement.clientWidth + 'px' li.style.height = document.documentElement.clientHeight + 'px' li.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat' document.body.appendChild(li) return id } // 该方法只允许调用一次 watermark.set = (str) => { let id = setWatermark(str) setInterval(() => { if (document.getElementById(id) === null) { id = setWatermark(str) } }, 500) window.onresize = () => { setWatermark(str) } } const outWatermark = (id) => { if (document.getElementById(id) !== null) { const li = document.getElementById(id) li.style.display = 'none' } } watermark.out = () => { const str = '1.23452384164.123412415' outWatermark(str) } export default watermark
2.1 在App.vue中引用或其他页面
// 1.在App.vue文件中,导入该文件 import Watemark from '@/common/watermark'; computed: { userName() { const name = this.$store.state.user.name return (name && name.length > 0) ? name : '未获取到用户名' } }, mounted() { Watermark.set(this.userName) } // 2.在其他页面引用 import Watemark from '@/common/watermark'; created() { Watermark.set('admin') }
2.2 在router配置文件中引用
const outWatermark = (id) => { if (document.getElementById(id) !== null) { const li = document.getElementById(id) li.style.display = 'none' } } router.afterEach((to) => { if(to.path == '/'){ Watermark.out() // 清除水印 }else{ Watermark.set('未获取到用户名') // 设置水印title } });
到此这篇关于Vue之全局水印的实现示例的文章就介绍到这了,更多相关Vue 全局水印内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- vue项目做过哪些打包优化(Vue项目优化的一些实战策略)
- vue获取图片并展示(vue卡片式点击切换图片组件使用详解)
- vue请求token无效(关于Vue 消除Token过期时刷新页面的重复提示问题)
- vue常用的指令和修饰符(Vue中 Vue.prototype使用详解)
- vue用于动态切换组件的内置组件(Vue 可拖拽组件Vue Smooth DnD的使用详解)
- vue实现聊天(Vue+ssh框架实现在线聊天)
- vue加element ui弹窗(Vue中ElementUI分页组件Pagination的使用方法)
- vue源码系列教程(vue使用引用库中的方法附源码)
- vue实现一个炫酷的日历组件(vue利用Moment插件格式化时间的实例代码)
- vue商城购物车数据(vue实现购物车全部功能的简单方法)
- vue验证码怎么用(vue验证码组件使用方法详解)
- vue基础语法对象(浅析从面向对象思维理解Vue组件)
- vue加载html5动画(vue实现旋转木马动画)
- vue项目的一些手动配置(使用vue项目配置多个代理的注意点)
- vue子视图里再加routerview(vue router-view的嵌套显示实现)
- vue组件滚动加载教程(Vue组件封装上传图片和视频的示例代码)
- 一窗通办政务服务小品剧本(一窗通办政务服务小品剧本)
- 刘韬涛丁子贺小品《根治低头族》台词剧本(刘韬涛丁子贺小品根治低头族台词剧本)
- 看完《夺冠》,黄渤的演技我实在夸不起来,彭昱畅反令人惊喜(黄渤的演技我实在夸不起来)
- 黄渤泪目 我的痴呆父亲,我内心永远的痛(黄渤泪目我的痴呆父亲)
- 蒜苔和鱿鱼尾巴一起炒,味道特别棒,又脆又嫩,有滋又有味(蒜苔和鱿鱼尾巴一起炒)
- 鱿鱼炒蒜苔不是黑暗料理,这样做清香扑鼻,鲜美脆嫩,开胃又下饭(鱿鱼炒蒜苔不是黑暗料理)
热门推荐
- 微信html5页面怎么制作(HTML5中外部浏览器唤起微信分享功能的代码)
- ASP.NET中使用CodeDomProvider调用js文件中的js方法
- 如何查看linq生成的sql
- css圆角边框设置教程(css效果之边框内圆角)
- ubuntu python3.7安装(详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本)
- css3弹性布局(CSS3弹性布局内容对齐justify-content属性使用详解)
- mysql修改表结构的关键字(查看修改MySQL表结构命令)
- js限制用户(如何用JS追踪用户)
- python创建hbase命名空间(python使用phoenixdb操作hbase的方法示例)
- php的字符串表达方法(php中字符串和整数比较的操作方法)