页面某一部分加水印的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 = 150can.height = 150let cans = can.getContext('2d')cans.rotate(-30 * Math.PI / 180)cans.font = '16px "Avenir", Helvetica, Arial, sans-serif'cans.fillStyle = 'rgba(200, 200, 200, 0.20)'cans.textAlign = 'left'cans.textBaseline = 'Middle'cans.fillText(str, can.width / 5, can.height / 2)let div = document.createElement('div')div.id = iddiv.style.pointerEvents = 'none'//水印的位置以及水印的宽高div.style.top = '40px'div.style.left = '-30px'div.style.position = 'absolute'div.style.zIndex = '100000'div.style.width = document.documentElement.clientWidth - 100 + 'px'//获取id为table元素的高度,动态展示水印的高度div.style.height = document.getElementById("table").clientHeight - 20 + 'px'div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'// 将水印放在id为show的元素里面,解决水印整个页面展示的效果。document.getElementById("show").appendChild(div)return id
}// 该方法只允许调用一次
watermark.set = (str) => {let id = setWatermark(str)setInterval(() => {if (document.getElementById(id) === null) {id = setWatermark(str)}}, 500)window.onresize = () => {setWatermark(str)}
}export default watermark

在需要的页面中引入该js,并在mounted中加入watermark.set(“值”),在不需要的页面中加入watermark.set(""),清除水印(因为水印设置一次,其他页面也会有水印) 。示例如下:

mounted() {watermark.set("值")
}

补充,show的样式为position:relative;z-index: 99; 否则水印会全屏

其他页面无水印的情况:

//有id为show时,添加水印。
if(document.getElementById("show")) {document.getElementById("show").appendChild(div)
}

vue中将水印加在页面的某一部分相关推荐

  1. vue网页预加载页面_页面预加载效果

    vue网页预加载页面 View demo 查看演示Download Source 下载源 Today we want to show you how to create a very simple p ...

  2. Vue实现动态加载页面数据(下拉加载新数据)

    1 设置数据 //页面不同组的所有数据alldata:[],//当前的页数page: 1, 2 更新页面格式 <div > <!-- 嵌套for循环实现动态加载--><d ...

  3. vue 加载页面时触发时间_解析Vue项目的四个方面优化

    在本篇文章里我们给大家整理了一篇关于优化VUE项目的四个总要点,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. 运行时优化 1.使用v-if代替v ...

  4. [vue] 第一次加载页面时会触发哪几个钩子?

    [vue] 第一次加载页面时会触发哪几个钩子? beforeCreate, created, beforeMount, mounted 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, ...

  5. Vue之鼠标悬停显示页面加载时间

    效果如下: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...

  6. vue调用接口获取后台数据_使用Vue实现调用接口加载页面初始数据

    使用Vue实现调用接口加载页面初始数据 闲着没事写了一个电影推荐的网页,很简单,使用的是Vue的实现. let vm = new Vue({ el:'#content', data:{ name:'' ...

  7. vue 加载页面时触发时间_详解Vue.js在页面加载时执行某个方法

    详解Vue.js在页面加载时执行某个方法 jQuery中可以这样写 vue中,如果要达到相同效果,可以使用vue的生命周期函数,如create或者mounted 附上vue.js的生命周期函数执行流程 ...

  8. html表格中加水印,给html页面添加水印

    functionwatermark(settings) {//默认设置 var defaultSettings ={ watermark_txt:"text", watermark ...

  9. vue aplayer 进度条无法拖动_为 Vue 的惰性加载加一个进度条

    // 每日前端夜话 第412篇// 正文共:1800 字// 预计阅读时间:8 分钟 简介 通常用 Vue.js 编写单页应用(SPA)时,当加载页面时,所有必需的资源(如 JavaScript 和 ...

最新文章

  1. background 距离右边固定距离
  2. Docker(2):使用Dockerfile创建支持SSH服务的镜像
  3. Golang的Int8 Int16 Int32 Int64区别
  4. C4C的导航菜单的问题,disable这个属性,就会变成正常的两级菜单
  5. 如何妥善处理WebBrowser对Javascript的错误问题,阻止JS弹出框,提高用户体验(原创)...
  6. mybatis 动态SQL-where标签
  7. 使用poi读写Excel
  8. oracle把ascii吗,oracle中ascii函数及to_char函数使用及编码间的转换
  9. Java编程:排序算法——选择排序
  10. Java8 lambda 的使用
  11. 苹果视频剪辑计算机配置,视频剪辑后期神器-创作PC黑苹果系统安装与台式电脑配置推荐...
  12. Maze CodeForces - 377A
  13. ajax注解解决中文乱码,基于注解的简单MVC框架的实现,以及jquery,prototype,ajax传输乱码问题的一点解决方法...
  14. ESP32接入米家-小爱同学-IDF环境-巴法平台
  15. 工作仅一年就被迫跳槽的感想
  16. Java获取访问者真实的IP地址
  17. R语言rjags使用随机效应进行臭氧数据分析
  18. Code::Blocks之软件汉化
  19. vue3+ts项目中使用水球图
  20. 上架应用后google map不显示

热门文章

  1. 如何使用WPS从正文开始页码为1,而不是从目录开始?
  2. 计算机输入法切换用户,电脑的输入法切换不了怎么办,教您如何解决电脑系统输入法...
  3. 项目中手机、姓名、身份证信息等在日志和响应数据中脱敏操作
  4. no default constructor found either
  5. Win11机械硬盘磁盘碎片整理方法
  6. C# 汉字转拼音 拼音转汉字 简体繁体互转
  7. 工业交换机的单模多模是什么意思?
  8. Android自定义View2--触摸事件传递机制
  9. 计算机基础知识(下)(操作系统简介)
  10. iOS ipa 安装包安装失败原因