const watermark = {}
const setWatermark = (str, container) => {
const id = '1.23452384164.123412415'
if (container === undefined) {
return
if (document.getElementById(id) !== null) {
const childelement = document.getElementById(id)
childelement.parentNode.removeChild(childelement)
var containerWidth = container.offsetWidth
var containerHeight = container.offsetHeight
container.style.position = 'relative'
const img= document.createElement('canvas')
img.width = 390
img.height = 200
const imgs= img.getContext('2d')
imgs.rotate(-20 * Math.PI / 180)
imgs.font = '20px Vedana'
imgs.fillStyle = 'rgba(200, 200, 200, 0.20)'
imgs.textAlign = 'left'
imgs.textBaseline = 'Middle'
imgs.fillText(str, 0, 4 * img.height / 5)
const div = document.createElement('div')
div.id = id
div.style.pointerEvents = 'none'
div.style.top = '0px'
div.style.left = '0px'
div.style.position = 'absolute'
div.style.zIndex = '100000'
div.style.width = containerWidth + 'px'
div.style.height = containerHeight + 'px'
div.style.background = 'url(' + img.toDataURL('image/png') + ') left top repeat'
container.appendChild(div)
return id
watermark.set = (str, container) => {
let id = setWatermark(str, container)
setInterval(() => {
if (document.getElementById(id) === null) {
id = setWatermark(str, container)
}, 500)
window.onresize = () => {
setWatermark(str, container)
export default watermark
使用:在页面中引入该插件
import watermarkfrom '@/utils/watermark'
通过ref获取到dom元素,然后使用插件;
<div ref="contain" class="wrapper ">
watermark.set("水印内容", this.$refs.contain)
从网上找了很多例子关于单元测试,都是如何新建项目的时候的添加单元测试,用vue-cli中怎么添加,但是我的项目已经生成了,不能再一次重新初始化,这时如何添加单元测试,这里面遇到了好多坑,写在这里记录一下心得。
1、用vue-cli生成一个新的项目,把单元测试需要的文件直接复制到你的项目中
vue init webpack vuetest
2、安装Karma+Mocha模块,这个模块依赖比较多,我在遇到了坑,解决问题半天发现缺少了某个模块,在这里全部列出需要的模块
代码如下:npm i -D karma karma-webpack phantomjs-prebuilt karma-p
* @param {String} contentText 水印内容
export default function createWaterMark(waterMarkName) {
clearWaterMark();
if (!water
经常有一些公司和组织出于系统文件或信息安全保密的需要,需要在系统网页上增加带有个人标识(系统账号或个人信息)的水印,可以简单防止截图外传首先我们来看这样一个水印功能的实现思路,通常是在我们原有的网页上附上一个 DIV 层,将它设置绝对定位铺满整个窗口,然后 z-index 值尽量往大了设,保证让水印层处于当前网页所有元素的上面,又不影响当前网页的操作。水印上的字体有两种方...