美文网首页
vue项目中添加水印

vue项目中添加水印

作者: 咔簌 | 来源:发表于2019-04-26 16:00 被阅读0次

    效果:


    1556260727675_图片.png

    1.创建watermark.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 = 160
      can.height = 180
    
      let cans = can.getContext('2d')
      cans.rotate(-20 * Math.PI / 180)
      cans.font = '16px Vedana'
      cans.fillStyle = 'rgba(200, 200, 200, 0.40)'
      cans.textAlign = 'left'
      cans.textBaseline = 'Middle'
      cans.fillText(str, can.width / 16, can.height / 2)
    
      let div = document.createElement('div')
      div.id = id
      div.style.pointerEvents = 'none'
      div.style.top = '70px'
      div.style.left = '240px'
      div.style.position = 'fixed'
      div.style.zIndex = '100'
      div.style.width = document.documentElement.clientWidth - 10 + 'px'
      div.style.height = document.documentElement.clientHeight - 100 + '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)
      }
    }
    
    export default watermark
    

    2.在main.js中引入,设置

      import Watermark from './plugins/watermark';
    
    new Vue({
        el: '#app', 
        components: { App },
        template: '<App/>',
        created() {
          Watermark.set(“这是内容”);
        }
    });
    

    感谢原作者舟遥遥

    相关文章

      网友评论

          本文标题:vue项目中添加水印

          本文链接:https://www.haomeiwen.com/subject/rtifnqtx.html