iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Vue全局水印如何实现
  • 618
分享到

Vue全局水印如何实现

2024-04-02 19:04:59 618人浏览 安东尼
摘要

今天小编给大家分享一下Vue全局水印如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

今天小编给大家分享一下Vue全局水印如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

【需求】系统内页面显示水印,登录页面没有水印(退出登录时,登录页面不会显示水印)

1.创建水印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 div = document.createElement("div")
  div.id = id
  div.style.pointerEvents = "none"
  div.style.top = "35px"
  div.style.left = "0px"
  div.style.position = "fixed"
  div.style.zIndex = "100000"
  div.style.width = document.documentElement.clientWidth + "px"
  div.style.height = document.documentElement.clientHeight + "px"
  div.style.background = "url(" + can.toDataURL("image/png") + ") left top repeat"
  document.body.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)
  }
}

const outWatermark = (id) => {
    if (document.getElementById(id) !== null) {
      const div = document.getElementById(id)
      div.style.display = "none"
    }
}
watermark.out = () => {
    const str = "1.23452384164.123412415"
    outWatermark(str)
}
 
export default watermark

2.引入操作

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 div = document.getElementById(id)
    div.style.display = "none"
  }
}

router.afterEach((to) => {
 if(to.path == "/"){
  Watermark.out() // 清除水印
 }else{
  Watermark.set("未获取到用户名") // 设置水印title
 }
});

以上就是“Vue全局水印如何实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网node.js频道。

--结束END--

本文标题: Vue全局水印如何实现

本文链接: https://www.lsjlt.com/news/96013.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue全局水印如何实现
    今天小编给大家分享一下Vue全局水印如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2022-10-19
  • Vue之全局水印的实现示例
    目录1.创建水印Js文件 2.引入操作 2.1 在App.vue中引用或其他页面 2.2 在router配置文件中引用【需求】系统内页面显示水印,登录页面没有水印(退出登录时,登录页...
    99+
    2022-11-12
  • vue轻松实现水印效果
    前言: vue项目中使用水印效果,可指定容器 效果图: 1、不指定容器 2、指定容器 实现方法: 1、新建一个配置文件 watermark.js ,可放util,也可放别的地方 ...
    99+
    2022-11-12
  • vue实现页面添加水印
    本文实例为大家分享了vue实现页面添加水印的具体代码,供大家参考,具体内容如下 js文件 建一个watermark.js文件 let setWatermark = (str1, st...
    99+
    2022-11-13
  • VB.NET如何实现水印
    这篇文章主要介绍了VB.NET如何实现水印,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。水印技术VB.NET水印类(watermark)包含很多属性,可用于测定在原图像的哪个...
    99+
    2023-06-17
  • Vue如何实现全局loading
    这篇文章将为大家详细讲解有关Vue如何实现全局loading,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。思路我们项目请求使用的是axios,那么我们就在请求前后进行拦截...
    99+
    2022-10-19
  • vue实现页面添加水印效果
    最近在做项目的时候要求给页面加上水印效果,废话不多说直接上代码: export function watermark(settings) { debugger; //默认...
    99+
    2022-11-12
  • vue实现上传图片添加水印
    本文实例为大家分享了vue上传图片添加水印的具体实现代码,供大家参考,具体内容如下 1、封装添加水印方法 export async function addWaterMarke...
    99+
    2022-11-12
  • 前端canvas如何实现水印
    小编给大家分享一下前端canvas如何实现水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!两种水印效果如图:原理解析:图一斜纹类:创建一个和页面一样大的画布,根...
    99+
    2023-06-09
  • vue全局挂载如何实现APP全局弹窗
    本篇内容主要讲解“vue全局挂载如何实现APP全局弹窗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue全局挂载如何实现APP全局弹窗”吧!需求背景app端对接网页端的客服系统,在用户实现网页...
    99+
    2023-06-30
  • 如何消除vue里的水印
    在使用Vue的开发过程中,我们经常会用到一些第三方组件库,这些组件库为了保证版权,往往会在页面上添加水印。但是这些水印在一些项目中可能会影响用户体验,因此我们需要找到一种方法来消除这些水印。本文将介绍两种消除Vue里水印的方法。方法一:修改...
    99+
    2023-05-17
  • web开发中如何实现水印
    这篇文章主要为大家展示了“web开发中如何实现水印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“web开发中如何实现水印”这篇文章吧。分析问题首先,考虑到业务场...
    99+
    2022-10-19
  • react实现页面水印效果的全过程
    目录前言1.使用示例2.实现过程3.组件代码总结前言 1.为什么选用svg 而不是cavans? 因为cavans 在高分辨率屏幕下,需要根据 devicePixelRatio做宽高...
    99+
    2022-11-12
  • HTML5中如何实现网页水印SDK
    这篇文章将为大家详细讲解有关HTML5中如何实现网页水印SDK,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。网页水印SDK,实现思路能更具获取到的当前用户信息,如名字,昵称,ID等,生成水印2.生成一个C...
    99+
    2023-06-09
  • Vue全局变量和局部变量如何实现
    这篇文章主要介绍“Vue全局变量和局部变量如何实现”,在日常操作中,相信很多人在Vue全局变量和局部变量如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue全局变量和局部变量如何实现”的疑惑有所帮助!...
    99+
    2023-07-04
  • Vue如何实现全局的toast组件
    这篇文章主要介绍“Vue如何实现全局的toast组件”,在日常操作中,相信很多人在Vue如何实现全局的toast组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue如何实现全局的toast组件”的疑惑有所...
    99+
    2023-07-05
  • vue如何实现全局组件注册
    这篇文章主要为大家展示了“vue如何实现全局组件注册”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现全局组件注册”这篇文章吧。全局组件注册1 一般情...
    99+
    2022-10-19
  • vue项目实现对某个区域绘制水印
    本文实例为大家分享了vue实现对某个区域绘制水印,供大家参考,具体内容如下 首先看一下效果: 其实原理很简单,就是使用canvas画成图,然后设置div的背景即可,这里参考了其他人...
    99+
    2022-11-12
  • vue实现上传图片添加水印(升级版)
    vue项目实现上传图片添加水印升级版,供大家参考,具体内容如下 封装水印方法 export async function addWaterMarker(file, el = '...
    99+
    2022-11-12
  • Java实现全图背景水印的示例详解
    目录给图片添加水印的优点给图片添加水印的缺点添加全图水印给图片添加水印的优点 可以保护图片的版权:给图片添加水印可以显著地提高图片的版权保护效果。通常,如果没有版权水印的图片在网络上...
    99+
    2023-02-10
    Java实现全图背景水印 Java全图背景水印 Java 水印
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作