找回密码
 立即注册

QQ登录

只需一步,快速开始

lalalal

初级会员

25

主题

70

帖子

311

积分

初级会员

积分
311

微信认证勋章

[已处理] 求页面水印解决

lalalal
初级会员   /  发表于:2020-9-16 22:35  /   查看:2309  /  回复:5
1金币
本帖最后由 lalalal 于 2020-9-16 23:09 编辑

各位老大,上个帖子中所描述问题暂时没有解决,顾重开帖子上传工程求救,谢谢https://gcdn.grapecity.com.cn/fo ... 20&page=2#pid317408


上传了还是出现这个错误
  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. var today = new Date();
  99. watermark({
  100.   watermarl_element: "pagesContainer",     //水印元素的id
  101.   watermark_txt: Forguncy.Page.getUserName()+today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate()+' '+today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds(),    //水印内容
  102. });
复制代码

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

最佳答案

查看完整内容

问题解决了就行~

5 个回复

倒序浏览
最佳答案
最佳答案
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-9-16 22:35:28
来自 6#
问题解决了就行~
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-9-17 11:59:40
2#
有一些东西被转码了,这次我直接把工程文件给你吧

本帖子中包含更多资源

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

x
回复 使用道具 举报
用户名用户名悬赏达人认证
初级会员   /  发表于:2020-9-17 14:59:13
3#
我做了个demo你去看看,水印内容为登陆用户名
https://gcdn.grapecity.com.cn/showtopic-81148-1-1.html

本帖子中包含更多资源

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

x
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-9-17 15:06:31
4#
用户名用户名 发表于 2020-9-17 14:59
我做了个demo你去看看,水印内容为登陆用户名
https://gcdn.grapecity.com.cn/showtopic-81148-1-1.html
...

回复 使用道具 举报
lalalal
初级会员   /  发表于:2020-9-17 15:07:08
5#
谢谢各位,我知道为什么不行了,我原来用6.03版本,这个版本用这个估计有BUG,怎么弄都不行,升级了6.06就可以了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部