| |
| |
| |
| const waterMark = settings => { |
| |
| var waterMarkArr = window.sessionStorage.getItem('watermark') |
| if (waterMarkArr) { |
| var arr1 = waterMarkArr.split(',') |
| for (var m = 0; m < arr1.length; m++) { |
| var node = document.getElementById(arr1[m]) |
| if (node) { |
| document.body.removeChild(node) |
| } |
| } |
| } |
| |
| var defaultSettings = { |
| watermark_txt: 'text', |
| watermark_x: 20, |
| watermark_y: 20, |
| watermark_rows: 20, |
| watermark_cols: 20, |
| watermark_x_space: 200, |
| watermark_y_space: 100, |
| watermark_color: '#000000', |
| watermark_alpha: 0.1, |
| watermark_fontsize: '12px', |
| watermark_font: '微软雅黑', |
| watermark_width: 110, |
| watermark_height: 30, |
| watermark_angle: 15 |
| } |
| |
| if (arguments.length === 1 && typeof arguments[0] === 'object') { |
| var src = arguments[0] || {} |
| for (var key in src) { |
| if (src[key] && defaultSettings[key] && src[key] === defaultSettings[key]) { |
| continue |
| } else if (src[key]) { |
| defaultSettings[key] = src[key] |
| } |
| } |
| } |
| var oTemp = document.createDocumentFragment() |
| |
| |
| |
| |
| var div = document.getElementsByClassName('content-box content-collapse') |
| |
| |
| var page_width = Math.max(div[0].scrollWidth, div[0].clientWidth) |
| |
| var page_height = Math.max(div[0].scrollHeight, div[0].clientHeight) |
| |
| if (defaultSettings.watermark_cols == 0 || parseInt(defaultSettings.watermark_x + defaultSettings.watermark_width * defaultSettings.watermark_cols + defaultSettings.watermark_x_space * (defaultSettings.watermark_cols - 1)) > page_width) { |
| defaultSettings.watermark_cols = parseInt((page_width - defaultSettings.watermark_x + defaultSettings.watermark_x_space) / (defaultSettings.watermark_width + defaultSettings.watermark_x_space)) |
| defaultSettings.watermark_x_space = parseInt((page_width - defaultSettings.watermark_x - defaultSettings.watermark_width * defaultSettings.watermark_cols) / (defaultSettings.watermark_cols - 1)) |
| } |
| |
| if (defaultSettings.watermark_rows == 0 || parseInt(defaultSettings.watermark_y + defaultSettings.watermark_height * defaultSettings.watermark_rows + defaultSettings.watermark_y_space * (defaultSettings.watermark_rows - 1)) > page_height) { |
| defaultSettings.watermark_rows = parseInt((defaultSettings.watermark_y_space + page_height - defaultSettings.watermark_y) / (defaultSettings.watermark_height + defaultSettings.watermark_y_space)) |
| defaultSettings.watermark_y_space = parseInt((page_height - defaultSettings.watermark_y - defaultSettings.watermark_height * defaultSettings.watermark_rows) / (defaultSettings.watermark_rows - 1)) |
| } |
| var arr = [] |
| |
| for (var i = 1; i < defaultSettings.watermark_rows - 1; i++) { |
| var y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i |
| for (var j = 0; j < defaultSettings.watermark_cols; j++) { |
| var x = defaultSettings.watermark_x + (defaultSettings.watermark_width + defaultSettings.watermark_x_space) * j |
| var mask_div = document.createElement('div') |
| mask_div.id = 'mask_div' + i + j |
| mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt)) |
| |
| mask_div.style.webkitTransform = 'rotate(-' + defaultSettings.watermark_angle + 'deg)' |
| mask_div.style.MozTransform = 'rotate(-' + defaultSettings.watermark_angle + 'deg)' |
| mask_div.style.msTransform = 'rotate(-' + defaultSettings.watermark_angle + 'deg)' |
| mask_div.style.OTransform = 'rotate(-' + defaultSettings.watermark_angle + 'deg)' |
| mask_div.style.transform = 'rotate(-' + defaultSettings.watermark_angle + 'deg)' |
| mask_div.style.visibility = '' |
| mask_div.style.position = 'absolute' |
| mask_div.style.left = x + 'px' |
| mask_div.style.top = y + 'px' |
| mask_div.style.overflow = 'hidden' |
| mask_div.style.zIndex = '9999' |
| |
| mask_div.style.opacity = defaultSettings.watermark_alpha |
| mask_div.style.fontSize = defaultSettings.watermark_fontsize |
| mask_div.style.fontFamily = defaultSettings.watermark_font |
| mask_div.style.color = defaultSettings.watermark_color |
| mask_div.style.textAlign = 'center' |
| mask_div.style.width = defaultSettings.watermark_width + 'px' |
| mask_div.style.height = defaultSettings.watermark_height + 'px' |
| mask_div.style.display = 'block' |
| mask_div.style.pointerEvents = 'none' |
| oTemp.appendChild(mask_div) |
| arr.push(mask_div.id) |
| } |
| } |
| fox.sessionStorage.put('watermark', arr) |
| document.body.appendChild(oTemp) |
| } |
| |
| waterMark({ watermark_txt: '测试用户' }) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了