vue實(shí)現(xiàn)頁(yè)面添加水印
本文實(shí)例為大家分享了vue實(shí)現(xiàn)頁(yè)面添加水印的具體代碼,供大家參考,具體內(nèi)容如下
js文件
建一個(gè)watermark.js文件
let setWatermark = (str1, str2, str3) => { let id = '1.23452384164.123412415' ? ? if (document.getElementById(id) !== null) { ? ? ? ? document.body.removeChild(document.getElementById(id)) ? ? } ? ? let can = document.createElement('canvas') ? ? can.width = 270 ? ? can.height = 100 ? ? let cans = can.getContext('2d') ? ? cans.rotate(-20 * Math.PI / 180) ? ? cans.font = '17px Vedana' ? ? cans.fillStyle = '#666666' ? ? cans.textAlign = 'center' ? ? cans.textBaseline = 'Middle' ? ? cans.fillText(str1, can.width / 2, can.height) ? ? cans.fillText(str2, can.width / 2, can.height + 20) ? ? cans.fillText(str3, can.width / 2, can.height + 40) ? ? let div = document.createElement('div') ? ? div.id = id ? ? div.style.pointerEvents = 'none' ? ? div.style.top = '20px' ? ? div.style.left = '0px' ? ? div.style.opacity = '0.15' ? ? div.style.position = 'fixed' ? ? 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 } // 添加水印 export const setWaterMark = (str1, str2, str3) => { ? ? let id = setWatermark(str1, str2, str3) ? ? if (document.getElementById(id) === null) { ? ? ? ? id = setWatermark(str1, str2, str3) ? ? } } // 移除水印 export const removeWatermark = () => { ? ? let id = '1.23452384164.123412415' ? ? if (document.getElementById(id) !== null) { ? ? ? ? document.body.removeChild(document.getElementById(id)) ? ? } }
頁(yè)面引入
html添加
:style="{ backgroundImage: `url(${orgBackground})` }"
引入
import { removeWatermark, setWaterMark } from '@/libs/watermark'
data添加
orgBackground: '',
mounted()添加
setWaterMark(str1, str2, str3);
效果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue+webpack項(xiàng)目配置便于維護(hù)的目錄結(jié)構(gòu)教程詳解
新建項(xiàng)目的時(shí)候創(chuàng)建合理的目錄結(jié)構(gòu)便于后期的維護(hù)是很重要。這篇文章主要介紹了Vue+webpack項(xiàng)目配置便于維護(hù)的目錄結(jié)構(gòu) ,需要的朋友可以參考下2018-10-10Nuxt 嵌套路由nuxt-child組件用法(父子頁(yè)面組件的傳值)
這篇文章主要介紹了Nuxt 嵌套路由nuxt-child組件用法(父子頁(yè)面組件的傳值),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11詳解Vue的組件中data選項(xiàng)為什么必須是函數(shù)
這篇文章主要給大家介紹了關(guān)于Vue的組件中data選項(xiàng)為什么必須是函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08詳解element-ui表格的合并行和列(非常細(xì)節(jié))
最近在需求中遇到了elementUI合并行,索性給大家整理下,這篇文章主要給大家介紹了關(guān)于element-ui表格的合并行和列的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06