<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>JavaScript实现网页动态水印</title><script type="text/javascript">function watermark(settings) {//默认设置
        var defaultSettings={watermark_txt:"text",watermark_x:20,//水印起始位置x轴坐标
          watermark_y:20,//水印起始位置Y轴坐标
          watermark_rows:20,//水印行数
          watermark_cols:20,//水印列数
          watermark_x_space:100,//水印x轴间隔
          watermark_y_space:50,//水印y轴间隔
          watermark_color:'#000000',//水印字体颜色
          watermark_alpha:0.3,//水印透明度
          watermark_fontsize:'18px',//水印字体大小
          watermark_font:'微软雅黑',//水印字体
          watermark_width:120,//水印宽度
          watermark_height:80,//水印长度
          watermark_angle:15//水印倾斜度数
        };//采用配置项替换默认值,作用类似jquery.extend
        if(arguments.length===1&&typeof arguments[0] ==="object" ){var src=arguments[0]||{};for(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 page_width = Math.max(document.body.scrollWidth,document.body.clientWidth);//获取页面最大长度
        var page_height = Math.max(document.body.scrollHeight,document.body.clientHeight);//如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔
        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));}//如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔
        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 x;var y;for (var i = 0; i < defaultSettings.watermark_rows; i++) {y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i;for (var j = 0; j < defaultSettings.watermark_cols; j++) {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));//设置水印div倾斜显示
            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.border="solid #eee 1px";
            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";oTemp.appendChild(mask_div);};};document.body.appendChild(oTemp);}//onload时触发水印绘制
      window.onload=function(){watermark({ watermark_txt: "测试水印" });};</script>
</head>
<body style="width: 100%;height:100%;">
此次日食始于东北太平洋,横跨美国,至大西洋中部结束。当地时间21日上午9时5分(北京时间22日0时5分),美国西海岸民众开始看到月亮逐渐遮蔽太阳;美国东部时间下午4时9分(北京时间22日4时9分),美国东海岸民众可见的最后月亮阴影消失,美国本土可见的日食现象结束。此次日食在地球表面形成了113公里宽的日全食带,斜跨美国14个州。西起俄勒冈州林肯市、东至南卡罗来纳州查尔斯顿的日全食带地区生活的1220万美国人,以及来自世界各地的天文爱好者都经历了两分钟左右的完全黑
当地时间2017年8月21日,美国华盛顿,美国总统特朗普、“第一夫人”梅拉尼娅、特朗普女儿伊万卡、司法部长塞申斯及商务部长威尔伯·罗斯等人在白宫阳台上观看日全食。
此次日食始于东北太平洋,横跨美国,至大西洋中部结束。当地时间21日上午9时5分(北京时间22日0时5分),美国西海岸民众开始看到月亮逐渐遮蔽太阳;美国东部时间下午4时9分(北京时间22日4时9分),美国东海岸民众可见的最后月亮阴影消失,美国本土可见的日食现象结束。此次日食在地球表面形成了113公里宽的日全食带,斜跨美国14个州。西起俄勒冈州林肯市、东至南卡罗来纳州查尔斯顿的日全食带地区生活的1220万美国人,以及来自世界各地的天文爱好者都经历了两分钟左右的完全黑暗。
此次日食始于东北太平洋,横跨美国,至大西洋中部结束。当地时间21日上午9时5分(北京时间22日0时5分),美国西海岸民众开始看到月亮逐渐遮蔽太阳;美国东部时间下午4时9分(北京时间22日4时9分),美国东海岸民众可见的最后月亮阴影消失,美国本土可见的日食现象结束。此次日食在地球表面形成了113公里宽的日全食带,斜跨美国14个州。西起俄勒冈州林肯市、东至南卡罗来纳州查尔斯顿的日全食带地区生活的1220万美国人,以及来自世界各地的天文爱好者都经历了两分钟左右的完全黑暗。
此次日食始于东北太平洋,横跨美国,至大西洋中部结束。当地时间21日上午9时5分(北京时间22日0时5分),美国西海岸民众开始看到月亮逐渐遮蔽太阳;美国东部时间下午4时9分(北京时间22日4时9分),美国东海岸民众可见的最后月亮阴影消失,美国本土可见的日食现象结束。此次日食在地球表面形成了113公里宽的日全食带,斜跨美国14个州。西起俄勒冈州林肯市、东至南卡罗来纳州查尔斯顿的日全食带地区生活的1220万美国人,以及来自世界各地的天文爱好者都经历了两分钟左右的完全黑暗。

</body>
</html>

JavaScript实现水印相关推荐

  1. JavaScript实现水印效果

    效果 实现思路 利用canvas绘制出文字 将canvas作为遮罩层背景图, 将背景x轴和y轴重复 实现步骤 动态生成canvas并画出文字 生成canvas节点,设置宽高 平移canvas对象,然后 ...

  2. JavaScript添加水印

    页面动态添加水印,来自:http://www.cnblogs.com/GongQi/p/4074609.html?utm_source=tuicool&utm_medium=referral ...

  3. Javascript实现网页水印(非图片水印)

    1 概述 1.1 定义 在一些B/S结构的应用系统中,有很多页面是需要有水印的.常见的就是公文系统.合同系统等.大家常常关注的是网站图片增加水印,而很少关注页面水印.刚去Google了一圈,关于页面水 ...

  4. [JavaScript]使用opencv.js实现基于傅里叶变换的频域水印(隐水印)

    PS:查了多方资料,都没有提到用 JavaScript 来实现频域水印的教程,故经过笔者的实践,遂写一篇教程来简单介绍. 通过了解频域水印的相关知识,我理解了频域水印就是先将图片进行傅里叶变换,得到频 ...

  5. 使用javascript在各大视频网站一键抓取无水印m3u8格式视频并将视频下载成mp4格式(以Google抓取腾讯视频为例)

    两三天没有更新博客了,最近博主有点夏乏(其实是懒),今日在划水的时候无意中学到了使用javascrpit抓取m3u8格式视频的小技巧,因此进行延伸并作此博客进行记录.接下来,我将使用javascrip ...

  6. javaScript 给图片加水印

    背景 在很多地方,我们都可以看到,上传图片的时候,图片都会被加上默认的水印,水印的作用主要体现在以下几个方面: 1.版权保护:在商业用途的照片中添加水印可以帮助保护作者的版权,防止他人未经授权使用照片 ...

  7. h5 video视频播放的同时加水印,图片加水印同样的原理

    经常能看到播放视频的网站上加水印的效果,记录下成果以备后续看: 效果图如下: h5页面视频播放的同时加水印,有以下3种方法可尝试: 在原视频上添加,由于每次登陆的用户不一样,需要根据用户名动态确定水印 ...

  8. 适用于任何数据可视化需求的国外10个最佳JavaScript图表库

    如今,数据量呈指数级增长,我们看到的信息越多,处理它的难度就越大.这就是为什么我们需要数据可视化--在图表和仪表板中,最好是交互式的.它帮助我们人类节省了大量时间和精力来查看,分析和理解数据,并根据这 ...

  9. asp.net 图片 上传 打水印 高质量缩略图

    数据库:proimgs/abc1.jpg|||| string[] arra = dr["picture"].ToString().Split('|');//取出图片 string ...

最新文章

  1. TIOBE 5 月编程语言排行榜:Python、C++竞争白热化,Objective-C已沦为小众语言
  2. 脱口秀《娶妻当娶女博士》续集《娶妻别娶女博士》北大生物女博士的自白,爆笑加泪点...
  3. 工作笔记--关于服务出问题时如何处理的流程
  4. Java基础之字符串String:
  5. 在Chrome插件上获取当前插件的版本号
  6. Elasticsearch 模糊搜索
  7. 【OpenCV】直方图
  8. pku3277 City Horizon.(离散化+二分查找)
  9. 201671010127 2016—2017—2 Java学习周结
  10. 阿里巴巴矢量图标库批量添加图标
  11. 【AT91SAM9261EK】u-boot 2022 tftpboot 烧写根文件系统
  12. Redis下载与安装 详细教程
  13. 485集线器,485Hub、485分配器、485共享器、三级浪涌保护,485星型接法设备 1拖4...
  14. bat 命令获取当前目录和子目录下的所有文件的文件名
  15. Premiere 抠像与合成
  16. 最新的计算机是什么版本,现在的电脑上的excel是什么版本的啊
  17. 第7章第33节:五图排版:错落有致的波浪式排版 [PowerPoint精美幻灯片实战教程]
  18. 学习k-近邻算法简单易懂
  19. U盘数据恢复软件使用教程
  20. 服务器机房运维监控,新概念机房运维监控三大新理念

热门文章

  1. 【华为机试真题二星题目 python】欢乐的周末_03
  2. 逻辑漏洞---登录验证码安全
  3. PCB孔无铜原因分析及改善措施
  4. Python read()函数:按字节(字符)读取文件
  5. 神经机器翻译的Subword技术
  6. SSLOJ·Biotech【模拟】
  7. 飞书文档导出pdf不带书签/大纲 问题
  8. 最小阻力之路,系统问题分析与解决八步法
  9. 六边形热图:专治数据密集重叠无法查看!
  10. Unity3d防止按键劫持导致无法响应点击事件