系统中在所有的页面有引入一个meta.jsp。所以我的水印代码直接写在这个页面就能引入到所有的页面中。

具体代码:

$(document).ready(function() {watermark({ watermark_txt: "测试水印" });
})
 /*** 给当前系统中所有的页面添加水印*/function watermark(settings) {//默认设置var defaultSettings={watermark_txt:"text",watermark_x:50,//水印起始位置x轴坐标watermark_y:80,//水印起始位置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.extendif(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.pointerEvents = 'none';    //让水印不遮挡页面的点击事件//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);//document.getElementById("gridContainer-result").appendChild(oTemp);//document.getElementById("grid-table-result").appendChild(oTemp);}

给系统所有jsp页面添加水印相关推荐

  1. 在java中建个jsp文件_第一个jsp页面

    安装JDK,配置JDK开发环境: //配置JAVA_HOME,在系统环境变量中创建: //变量名:JAVA_HOME //变量值:(JDK所在的根目录) C:\Program Files\Java\j ...

  2. 关于jsp页面是放在webroot目录下和web-inf下优缺点

    CSDN问题: jsp放在webroot目录下 这样就可以让用户直接访问,jsp放在web-inf目录下就必须要通过请求才能访问. 因此放在web-inf下jsp页面显得要安全.  既然这样 ,那是不 ...

  3. jsp页面实现打印 .

    报表在信息系统中占据了极为重要的位置,广义上讲,报表主要以多样的格式呈现和打印动态数据,动态数据主要指保存在数据库中的数据,也可以是文本中的数据.XML数据.Hibernate数据.EJB数据.自定义 ...

  4. Android打开jsp页面,如何确定是通过jsp页面上的Android设备还是IOS设备访问网页

    路上的小 01-15 2878 加载和访问JSP时,将判断是手机Web端还是PC端 $(document).ready(function(){//平台,设备和操作系统var system = {win ...

  5. java实现动态验证码源代码——jsp页面

    我们通常在其他网站注册或者登陆的时候会发现一个很高大上的验证码,那么怎么用java代码实现呢?下面我给大家贴一下我写的方法: 此文章是写的前台jsp页面的代码: <%@ page languag ...

  6. java jsp ajax_ajax的json传值方式在jsp页面中的应用

    jsp页面: $(document).ready(function() { setInterval(function myTimer() { //alert('a'); getViews(); },1 ...

  7. 使用 sitemesh/decorator装饰器装饰jsp页面(原理及详细配置)

    摘要:首先这个Decorator解释一下这个单词:"装饰器",我觉得其实可以这样理解,他就像我们用到的Frame,他把每个页面共有的东西提炼了出来,也可能我们也会用各种各样的inc ...

  8. easyui不同的jsp页面之间混乱_JSP+SSM+Mysql实现的图书馆预约占座管理系统

    项目简介 项目来源于:https://gitee.com/gepanjiang/LibrarySeats 因原gitee仓库无数据库文件且存在水印,经过本人修改,现将该仓库重新上传至个人gitee仓库 ...

  9. jsp 页面刷新_如何应用XML+XSLT+AJAX组合技术实现无刷新数据查询

    软件项目实训及课程设计指导--如何应用XML +XSLT +AJAX组合技术实现无刷新的数据查询的应用实例 1.在Web应用系统项目中添加一个实现查询的请求页面searchBook.jsp (1)创建 ...

最新文章

  1. python爬虫系列(5.3-动态网站的爬取的策略)
  2. android绘制环形进度_android 圆环进度view
  3. java 模仿支付成功_揭秘Java工程师薪资为何这么高,教你如何成为架构师拿50W年薪!...
  4. Chef是一个什么样的工具
  5. jvm类加载机制和类加载器_在JVM之下–类加载器
  6. linux对目录进行操作,Linux 基础:对文件和目录进行操作的 Linux 和 Unix 命令 笔记...
  7. 重磅下载 | 核心系统100%上云,揭秘双11背后的云原生实践
  8. python程序实现excel排序_python初学—-实现excel里面读数据进行排序(改进算法)
  9. 项目内置广告后续:npm 禁止终端广告
  10. oracle1-100,Oracle 批量给某一列循环加数例如从1加到100
  11. 计算机关机后风扇还转,小编教你电脑关机后CPU风扇还在转怎么解决
  12. adb shell input keyevent 模拟按键事件
  13. 计算机考证分几个等级
  14. NotePad++7.5 64 bit版本以后没有plugin manger的解决方法
  15. (3年工作经验)天天下班刷抖音,不如亲自跑去抖音瞧一瞧!
  16. MPAndroidChart的详细使用——BarChart条形图(二)
  17. 用Qemu搭建x86学习环境
  18. 曾经风光无限的铁饭碗没了...网友评论:996卷走了955的他们...
  19. 学术人生 | 宾大机器学习PhD:我是如何从头开始写一篇顶级论文的?
  20. Mars3D开发基础学习:矢量图层

热门文章

  1. unity 判断设备是否平板、手机
  2. access统计的几个常用函数
  3. KVM新增扩容修改删除虚拟机
  4. wxFormBuilder添加wxToolBar报错cpp(963) in wxToolBar::Realize(): invalid tool button bitmap解决方案
  5. 良许跌宕起伏的2021年
  6. Tomcat环境变量
  7. 在Ubuntu上如何卸载nginx
  8. 只能录话筒声音不能录播放内容的解决方法
  9. Tmd27711 三合一传感器流程
  10. 2019趣头条运营方法,趣头条如何获取收益