系统中在所有的页面有引入一个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. spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获
  2. 读数据库遇到空就进行不下去_如何解决高并发场景下缓存+数据库双写不一致问题?...
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1093:计算多项式的值
  4. php常见的面试题目
  5. python以什么方式处理文件-Python文件修改和常用方法
  6. Centos下磁盘管理的常用命令记录(如查找大文件)
  7. MVC---------ViewBag
  8. 关于Web2.0概念解释
  9. 阿里云郑晓:浅谈GPU虚拟化技术(第二章)
  10. Python中流程控制-for循环(序列/字典举例)
  11. 从零开始学OpenCV(一)——OpenCV的安装
  12. 隐藏计算机关机键,关机快捷键有哪些?电脑Windows快捷关机最全方法图文详解
  13. 唱响艾泽拉斯 - 小安专辑
  14. 计算机无法安装hp网络打印机,hp打印机驱动安装失败怎么办 hp打印机驱动安装失败的解决办法...
  15. html 标签英文全称,html标签英文全称
  16. 念悠文化:微博运营怎么做?微博运营的几个方法
  17. 网易邮箱实名操作流程
  18. 著名数列及其算法(斐波拉契)
  19. (Note)夜光藻赤潮
  20. MySQL理论基础以及sql语法

热门文章

  1. 开机不能正常进入系统
  2. 未来野心家 苹果研发资金再投140亿美金 四年前的两倍 | 解读
  3. Brotato 游戏拆解
  4. iOS TableView显示出现:Warning once only: Detected a case where constraints ambiguously suggest a height
  5. 大带宽、高速率接口对比---USB、PCIE、SATA、HDMI和以太网等接口
  6. @Value Cannot find method ‘value‘(lombok冲突)
  7. 库存管理-多个仓库库存扣减-简单算法
  8. 【CIPS 2016】(13-14章)自动问答、机器翻译 (研究进展、现状趋势)
  9. poi生成excel时换行符(\n)只有鼠标双击才会生效,设置列宽度不生效
  10. 下载安装Spring