最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue之全局水印的實(shí)現(xiàn)示例

 更新時(shí)間:2021年07月19日 10:11:05   作者:劉小二Start  
頁面水印大家或許都不陌生,本文主要介紹了Vue之全局水印的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

【需求】系統(tǒng)內(nèi)頁面顯示水印,登錄頁面沒有水?。ㄍ顺龅卿洉r(shí),登錄頁面不會(huì)顯示水?。?br />

1.創(chuàng)建水印Js文件

/*
 * @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 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
}
 
// 該方法只允許調(diào)用一次
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文件中,導(dǎo)入該文件
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('未獲取到用戶名') // 設(shè)置水印title
 }
});

到此這篇關(guān)于Vue之全局水印的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Vue 全局水印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法

    vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法

    這篇文章主要介紹了vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • vue實(shí)現(xiàn)歌手列表字母排序下拉滾動(dòng)條側(cè)欄排序?qū)崟r(shí)更新

    vue實(shí)現(xiàn)歌手列表字母排序下拉滾動(dòng)條側(cè)欄排序?qū)崟r(shí)更新

    這篇文章主要介紹了vue實(shí)現(xiàn)歌手列表字母排序,下拉滾動(dòng)條側(cè)欄排序?qū)崟r(shí)更新,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • vue實(shí)現(xiàn)公告消息橫向無縫循環(huán)滾動(dòng)

    vue實(shí)現(xiàn)公告消息橫向無縫循環(huán)滾動(dòng)

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)公告消息橫向無縫循環(huán)滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue3+Vite實(shí)現(xiàn)項(xiàng)目搭建步驟

    Vue3+Vite實(shí)現(xiàn)項(xiàng)目搭建步驟

    這篇文章主要介紹了Vue3+Vite實(shí)現(xiàn)項(xiàng)目搭建步驟,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue 中批量下載文件并打包的示例代碼

    Vue 中批量下載文件并打包的示例代碼

    本篇文章主要介紹了Vue 中批量下載文件并打包的示例代碼,用 ajax 將文件下載, 然后用 jszip 壓縮文件, 最后用 file-saver 生成文件,有興趣的可以了解一下
    2017-11-11
  • 詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案

    詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案

    這篇文章主要介紹了詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • 詳解Vue3如何優(yōu)雅的監(jiān)聽localStorage變化

    詳解Vue3如何優(yōu)雅的監(jiān)聽localStorage變化

    最近在研究框架,也仔細(xì)用了Vue3一些功能,所以本文就來和大家聊聊Vue3如何實(shí)現(xiàn)優(yōu)雅的監(jiān)聽localStorage的變化,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • vue-cli啟動(dòng)本地服務(wù)局域網(wǎng)不能訪問的原因分析

    vue-cli啟動(dòng)本地服務(wù)局域網(wǎng)不能訪問的原因分析

    這篇文章主要介紹了vue-cli啟動(dòng)本地服務(wù),局域網(wǎng)下訪問不到的原因分析,在文中還給大家介紹了vue-cli起的webpack項(xiàng)目 用localhost可以訪問,但是切換到ip就不可以訪問 的原因,本文給大家介紹的非常詳細(xì),需要的朋友參考下
    2018-01-01
  • Vue腳手架安裝時(shí)遇到的無法安裝問題詳解

    Vue腳手架安裝時(shí)遇到的無法安裝問題詳解

    開發(fā)中遇到bug是在正常不過了,而程序也基本都是bug堆里爬出來的,下面這篇文章主要給大家介紹了關(guān)于Vue腳手架安裝時(shí)遇到的無法安裝問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 在vue3中vue-cropper的初使用示例詳解

    在vue3中vue-cropper的初使用示例詳解

    Vue-Cropper是一個(gè)基于Vue.js的圖像剪切組件,封裝了Cropper庫的功能,使其更易于在Vue.js項(xiàng)目中集成和使用,它可以與Vue的響應(yīng)式數(shù)據(jù)綁定,支持多種圖像格式和剪切形狀,提供了一些額外的功能,本文介紹在vue3中vue-cropper的初使用,感興趣的朋友一起看看吧
    2025-03-03

最新評論

台南县| 麦盖提县| 沿河| 定日县| 吴旗县| 莱芜市| 铜山县| 抚宁县| 乐亭县| 中山市| 鄂伦春自治旗| 伊金霍洛旗| 麻江县| 大新县| 淅川县| 五峰| 丰顺县| 五大连池市| 新竹市| 凤阳县| 会理县| 繁峙县| 长葛市| 织金县| 九龙县| 清水河县| 安溪县| 邵阳县| 澄江县| 广元市| 壤塘县| 增城市| 丹江口市| 武功县| 泾川县| 罗城| 新竹县| 祁阳县| 白玉县| 大连市| 油尖旺区|