找回密码
 立即注册

QQ登录

只需一步,快速开始

lalalal

初级会员

26

主题

71

帖子

323

积分

初级会员

积分
323

微信认证勋章

lalalal
初级会员   /  发表于:2020-9-9 13:01  /   查看:6262  /  回复:18
1金币
最近遇到一个需求,给所有页面加水印(登录人+登录时间),不影响其他点击等功能的使用,目的是防止信息外漏,当时就在想:这年头,PS就不说人人都能使用,谁手机还没个涂鸦功能,防不了,但是就是这么个需求
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

直接把代码复制到活字格 watermark( { watermarl_element: "pagesContainer", //水印元素的id watermark_txt: "水印内容", //水印内容 }); 你只修改这里的代码将好了其他不要动

18 个回复

倒序浏览
最佳答案
最佳答案
用户名用户名悬赏达人认证
初级会员   /  发表于:2020-9-9 13:01:53
来自 4#
本帖最后由 用户名用户名 于 2020-9-10 11:05 编辑

直接把代码复制到活字格
watermark(
{ watermarl_element: "pagesContainer",     //水印元素的id
watermark_txt: "水印内容",    //水印内容 }); 你只修改这里的代码将好了其他不要动

  1. function watermark(settings) {
  2.   //默认设置
  3.   var defaultSettings = {
  4.     watermarl_element: "body",
  5.     watermark_txt: "",
  6.     watermark_x: 20, //水印起始位置x轴坐标
  7.     watermark_y: 20, //水印起始位置Y轴坐标
  8.     watermark_rows: 2000, //水印行数
  9.     watermark_cols: 2000, //水印列数
  10.     watermark_x_space: 70, //水印x轴间隔
  11.     watermark_y_space: 30, //水印y轴间隔
  12.     watermark_color: "#aaa", //水印字体颜色
  13.     watermark_alpha: 0.4, //水印透明度
  14.     watermark_fontsize: "15px", //水印字体大小
  15.     watermark_font: "微软雅黑", //水印字体
  16.     watermark_width: 210, //水印宽度
  17.     watermark_height: 80, //水印长度
  18.     watermark_angle: 15, //水印倾斜度数
  19.   };
  20.   //采用配置项替换默认值,作用类似jquery.extend
  21.   if (arguments.length === 1 && typeof arguments[0] === "object") {
  22.     var src = arguments[0] || {};
  23.     for (key in src) {
  24.       if (src[key] && defaultSettings[key] && src[key] === defaultSettings[key])
  25.         continue;
  26.       else if (src[key]) defaultSettings[key] = src[key];
  27.     }
  28.   }

  29.   var oTemp = document.createDocumentFragment();

  30.   var maskElement =
  31.     document.getElementById(defaultSettings.watermarl_element) || document.body;

  32.   //获取页面最大宽度
  33.   var page_width = Math.max(maskElement.scrollWidth, maskElement.clientWidth);

  34.   //获取页面最大高度
  35.   var page_height = Math.max(
  36.     maskElement.scrollHeight,
  37.     maskElement.clientHeight
  38.   );

  39.   //水印数量自适应元素区域尺寸
  40.   defaultSettings.watermark_cols = Math.ceil(
  41.     page_width /
  42.       (defaultSettings.watermark_x_space + defaultSettings.watermark_width)
  43.   );
  44.   defaultSettings.watermark_rows = Math.ceil(
  45.     page_height /
  46.       (defaultSettings.watermark_y_space + defaultSettings.watermark_height)
  47.   );
  48.   var x;
  49.   var y;
  50.   for (var i = 0; i < defaultSettings.watermark_rows; i++) {
  51.     y =
  52.       defaultSettings.watermark_y +
  53.       (defaultSettings.watermark_y_space + defaultSettings.watermark_height) *
  54.         i;
  55.     for (var j = 0; j < defaultSettings.watermark_cols; j++) {
  56.       x =
  57.         defaultSettings.watermark_x +
  58.         (defaultSettings.watermark_width + defaultSettings.watermark_x_space) *
  59.           j;
  60.       var mask_div = document.createElement("div");
  61.       mask_div.id = "mask_div" + i + j;
  62.       mask_div.className = "mask_div";
  63.       //mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));
  64.       mask_div.innerHTML = defaultSettings.watermark_txt;
  65.       //设置水印div倾斜显示
  66.       mask_div.style.webkitTransform =
  67.         "rotate(-" + defaultSettings.watermark_angle + "deg)";
  68.       mask_div.style.MozTransform =
  69.         "rotate(-" + defaultSettings.watermark_angle + "deg)";
  70.       mask_div.style.msTransform =
  71.         "rotate(-" + defaultSettings.watermark_angle + "deg)";
  72.       mask_div.style.OTransform =
  73.         "rotate(-" + defaultSettings.watermark_angle + "deg)";
  74.       mask_div.style.transform =
  75.         "rotate(-" + defaultSettings.watermark_angle + "deg)";
  76.       mask_div.style.visibility = "";
  77.       mask_div.style.position = "absolute";
  78.       mask_div.style.left = x + "px";
  79.       mask_div.style.top = y + "px";
  80.       mask_div.style.overflow = "hidden";
  81.       mask_div.style.zIndex = "9999";
  82.       mask_div.style.pointerEvents = "none"; //pointer-events:none  让水印不遮挡页面的点击事件 //兼容IE9以下的透明度设置
  83.       //mask_div.style.border="solid #eee 1px";
  84.       mask_div.style.filter = "alpha(opacity=50)";
  85.       mask_div.style.opacity = defaultSettings.watermark_alpha;
  86.       mask_div.style.fontSize = defaultSettings.watermark_fontsize;
  87.       mask_div.style.fontFamily = defaultSettings.watermark_font;
  88.       mask_div.style.color = defaultSettings.watermark_color;
  89.       mask_div.style.textAlign = "center";
  90.       mask_div.style.width = defaultSettings.watermark_width + "px";
  91.       mask_div.style.height = defaultSettings.watermark_height + "px";
  92.       mask_div.style.display = "block";
  93.       oTemp.appendChild(mask_div);
  94.     }
  95.   }
  96.   maskElement.appendChild(oTemp);
  97. }

  98. watermark({
  99.   watermarl_element: "pagesContainer",     //水印元素的id
  100.   watermark_txt: "水印内容",    //水印内容
  101. });
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +1000 收起 理由
Erik.Xue + 1000 厉害啊,大佬~!

查看全部评分

回复 使用道具 举报
biubiubiu
金牌服务用户   /  发表于:2020-9-9 17:05:11
2#
你这个和网站上这个一模一样呀
https://blog.csdn.net/zz_chst/article/details/82760640

我也不会js,不过看起来代码可以搞定。
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2020-9-9 17:34:49
3#
biubiubiu 发表于 2020-9-9 17:05
你这个和网站上这个一模一样呀
https://blog.csdn.net/zz_chst/article/details/82760640

正解~目前活字格没有页面加水印的基本功能,通过js代码应该可以实现。如果您会写js代码的话可以试试哦~
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-9-10 14:22:00
5#
感谢大佬的支持~
回复 使用道具 举报
lalalal
初级会员   /  发表于:2020-9-11 18:20:15
6#
谢谢
回复 使用道具 举报
lalalal
初级会员   /  发表于:2020-9-11 18:23:15
7#
  watermarl_element: "pagesContainer",     //水印元素的id
  watermark_txt: "水印内容",    //水印内容
});

弱弱的问句,要在水印内容上面显示  登录账号 和登录时间怎么写,不懂,求大神指教
回复 使用道具 举报
lalalal
初级会员   /  发表于:2020-9-14 10:23:22
8#
用户名用户名 发表于 2020-9-9 13:01
直接把代码复制到活字格
watermark(
{ watermarl_element: "pagesContainer",     //水印元素的id

watermark_txt: "水印内容",    //水印内容
});

弱弱的问句,要在水印内容上面显示  登录账号 和登录时间怎么写,不懂,求大神指教
回复 使用道具 举报
用户名用户名悬赏达人认证
初级会员   /  发表于:2020-9-14 10:50:31
9#
lalalal 发表于 2020-9-11 18:23
watermarl_element: "pagesContainer",     //水印元素的id
  watermark_txt: "水印内容",    //水印内 ...


水印内容换成  
  1. Forguncy.Page.getCell("user")
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2020-9-14 17:58:44
10#
感谢楼上的支持!
如果您的问题已解决,请及时更新帖子的状态为“已处理”,并设置最佳答案给有帮助到你的回复;
如果您的问题还未解决,欢迎跟帖补充;
如果您有新的问题,也欢迎创建新的求助帖。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部