页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

类型

对象

事件

ClientSide

spreadsheetReport

onRender

宏代码

...

languagejs
firstline1
linenumberstrue


function

...

main(spreadsheetReport

...

, flag) {if(flag) {return;}
debugger;
var UserService = imports('bof.usermanager.UserService');

...


var

...

currentUser

...

=

...

UserService.getInstance().getCurrentUser();

...



var

...

settings

...

=

...

{
// watermark_txt: currentUser.name
//watermark_txt: spreadsheetReport.getParamValue("usrid")
watermark_txt:

...

currentUser.name

...

+'\n'+currentUser.id
};

//var panel = spreadsheetReport.elemSheetFrame.contentWindow.document.body;

...


//watermark(settings,

...

panel);

...

//

...

传入动态水印内容
var panel = spreadsheetReport.elemSheetFrame.contentWindow.document.body;

...


if

...

(domutils.isMobile()){

...


setTimeout(function(){

...


watermark(settings,

...

panel);

...

//

...

传入动态水印内容

...


},500);

...


}

...


else
{
watermark(settings, panel); // 传入动态水印内容
}

// if(GetQueryString("usrname") != null & GetQueryString("usrid") != null)
// {
// watermark(settings,

...

panel);

...

//

...

传入动态水印内容

...


// }

}

function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURI(r[2]); //return null;
}

 

function watermark(settings,

...

panel)

...

{

...


//

...

默认设置

...


var

...

defaultSettings

...

=

...

{
watermark_txt:

...

'text',

...


watermark_x:

...

30,
//

...

水印起始位置x轴坐标
watermark_y:

...

100,
//

...

水印起始位置Y轴坐标
watermark_rows:

...

100,
//

...

水印行数
watermark_cols:

...

100,
//

...

水印列数
watermark_x_space:

...

20,
//

...

水印x轴间隔
watermark_y_space:

...

20,
//

...

水印y轴间隔
//watermark_color:

...

'#00FF00

...

',
watermark_color: '#999999',
// 水印字体颜色
watermark_alpha:

...

0.

...

3,
//

...

水印透明度
watermark_fontsize:

...

'

...

16px',

...


//

...

水印字体大小
watermark_font:

...

'

...

幼圆',

...


//

...

水印字体
watermark_width:

...

80,
//

...

水印宽度
watermark_height:

...

80,

...


//

...

水印长度
watermark_angle:

...

45,
//

...

水印倾斜度数
'':

...

''

...


};

...


//

...

采用配置项替换默认值,作用类似jquery.extend

...


if

...

(arguments.length

...

>

...

0

...

&&

...

typeof

...

arguments[0]

...

===

...

'object')

...

{
var src = arguments[0];

...


for (var

...

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_width = Math.max(panel.scrollWidth, panel.clientWidth);
// 获取页面最大高度
//var page_height = Math.max(document.body.scrollHeight, document.body.clientHeight);
var page_height = Math.max(panel.scrollHeight,

...

panel.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));

...


//efaultSettings.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((page_height

...

-

...

defaultSettings.watermark_y

...

+

...

defaultSettings.watermark_y_space)

...

/

...

(defaultSettings.watermark_height

...

+

...

defaultSettings.watermark_y_space));

...


//efaultSettings.watermark_y_space

...

=

...

parseInt((page_height

...

-

...

defaultSettings.watermark_y

...

-

...

defaultSettings.watermark_height

...

*

...

defaultSettings.watermark_rows)

...

/

...

(defaultSettings.watermark_rows

...

-

...

1));

...


}
var x,

...

y;

...


for

...

(var

...

i

...

=

...

0,

...

len

...

=

...

defaultSettings.watermark_rows;

...

i

...

<

...

len;

...

i++)

...

{
y = defaultSettings.watermark_y

...

+

...

(defaultSettings.watermark_y_space

...

+

...

defaultSettings.watermark_height)

...

*

...

i;

...


for (var

...

j

...

=

...

0,

...

leng

...

=

...

defaultSettings.watermark_cols;

...

j

...

<

...

leng;

...

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);

...


}
}
panel.appendChild(oTemp);

...


}