分页打印网页怎么做js或者jquery

分页打印网页怎么做js或者jquery,第1张

用法:

$("div#printmain")printArea();

但还是会打印DIV后面的内容,这里可以使用CSS控制打印分页

<div style="page-break-after: always;"></div>

有时用CSS控制分页了但还是会连续打印页面,这里就可以用上PrintArea 插件中的属性参数。

PrintArea部分源码:

var modes = { iframe : "iframe", popup : "popup" };

var defaults = { mode : modesiframe,

popHt : 800,

popWd : 800,

popX : 200,

popY : 200,

popTitle : '',

popClose : false ,

twoDiv : '', //自已扩展的属性,为满足变态需求

pageTitle: ''};//自已扩展的属性,为满足变态需求

可以看出插件中定义的属性格式为JSON,下面介绍部分属性

modes定义了两个属性,指定popup时会打开新窗口,可以视为打印预览页面,默认为iframe。

@popClose | [boolean] | (false),true 打印完成后是否开闭预览页面,默认为false(不关闭)。

$("div#printmain")printArea({mode:"popup",popClose:true});

这样就可以指定DIV打印了。

下面说一下我新增两个属性的用途

twoDiv:

需要打印的第二个DIV ,当然会是第二页,这个页面比较长,需要自动分页,并且表格中每行都不一样,有些行跨了多行,这里打印出来,一行可能会打印在两张纸上。

pageTitle:

第二个DIV分成多页里,每一页的表头都需要一样,这个参数就是公用表头。

这两个参数都对应着页面中的DIV,如:

<div id="pageTitle" style="display: none;">

页面定义好后,我们看看插件中是如何处理我们的页面的。

writeDocopen();

writeDocwrite(html); //打找一个窗口关写窗口中的HTML代码

writeDocclose();

printWindowfocus();

printWindowprint();

下面是生成html的代码

html+=docType() + "<html>" + getHead() + getBody(thisPage) + "</html>";

插件中都定义了相义的方法,我没有做任何修改,这里我就不粘贴了。

下面是我的思路:

需在将一个DIV中的内容分成多页,且一行不跨多页,我们就得在生成html 代码上下功夫了。

首先找出DIV中的所有行,当公共表头加上这些行后高度达到一页,就需要分页了,这里就有可以一页中最后一行刚好跨了多页,将这一行保存下来,放到下一页。

每一页生成完成后都需要在HTML标签后面加上CSS分页标记,这样就打印机就会乖乖的分页。

说明一下,生成的预览页面一页就是一个HTML页面,它有对应的表头与DTD信息。

有人可能明明预览只有4页,而打印出来总会多一页,这时你需要检验一下你生成的页面中分页标记是不是在HTML标签之前。

分面标记一定要在HTML标签之后,这样可解决打印多打一页问题。

引入CSS的方法有两种,一种是@import,一种是link

@import url('地址');

<link href="地址" rel="stylesheet" type="text/css" />

现在绝大部分的网站都采用后一种link方式,原因在于

@import先加载HTML,后加载CSS

link先加载CSS,后加载HTML。

所以前者加载网页会出现令浏览者以外的格式,后者则是带格式的加载网页。

这篇文章主要介绍了jQuery处理json数据返回数组和输出的方法,涉及jQuery *** 作数组及json的技巧,需要的朋友可以参考下

本文实例讲述了jQuery处理json数据返回数组和输出的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:

/print

the

json

object

$("selector")print_r_json(json,opts)

:

return

formatted

string

(and

print)

sprint_r_json

:

just

return

the

string;

print_r_json

:

return

the

formatted

string

and

print

json

data

contribute

明河

auth

iorichina

example:

3

ways

to

use

it

<script

language="javascript">

$("selector")print_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"},{if_print:true,return_array:true});

documentwrite($sprint_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"}));

$print_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"});

</script>

/

$fnprint_r_json

=

function(json,options){

if(typeof(json)!="object")

return

false;

var

opts

=

$extend({},$fnprint_r_jsondefaults,options);

var

data

=

'';

if(optsif_print)

{

data

=

$sprint_r_json(json)

$(this)html('<div

style="font-weight:bold">'+(optsreturn_array'Array':'JSON-DATA')+'</div>'+data);

}

if(optsarray)

{

return

$json_to_array(json);

}

return

data;

};

$fnprint_r_jsondefaults

=

{

if_print

:

false,//if

print

or

just

return

formatted

string

return_array

:

true

//return

an

Array

};

$extend({

print_r_json

:

function(json)

{

if(typeof(json)=="object")

{

var

text='<div

style="font-weight:bold;">{</div><div

style="margin-left:25px;">';

documentwrite('<div

style="font-weight:bold;">{</div><div

style="margin-left:25px;">');

for(var

p

in

json)

{

if(typeof(json[p])=="object")

{

documentwrite('<div>["'+p+'"]

=>

');

text+='<div>["'+p+'"]

=>

'+$print_r_json(json[p])+'</div>';

documentwrite('</div>');

}

else

{

text+='<div>['+((/^d+$/)test(p)p:('"'+p+'"'))+']

=>

"'+json[p]+'"</div>';

documentwrite('<div>['+p+']

=>

'+json[p]+'</div>');

}

}

text+='</div><div

style="font-weight:bold;">}</div>';

documentwrite('</div><div

style="font-weight:bold;">}</div>');

return

(text);

}

else

{

documentwrite(json);

return

(json);

}

},

sprint_r_json

:

function(json)

{

if(typeof(json)=="object")

{

var

text

=

'<div

style="font-weight:bold;">{</div><div

style="margin-left:25px;">';

for(var

p

in

json)

{

if(typeof(json[p])=="object")

{

text

+=

'<div>["'+p+'"]

=>

'+$sprint_r_json(json[p])+'</div>';

}

else

{

text

+=

'<div>['+((/^d+$/)test(p)p:('"'+p+'"'))+']

=>

"'+json[p]+'"</div>';

}

}

text

+=

'</div><div

style="font-weight:bold;">}</div>';

return

(text);

}

else

{

return

(json);

}

},

json_to_array

:

function(json)

{

if(typeof(json)=="object")

{

var

text

=

new

Array();

for(var

p

in

json)

{

if(typeof(json[p])=="object")

{

text[p]

=

$json_to_array(json[p]);

}

else

{

text[p]

=

json[p];

}

}

return

(text);

}

else

{

return

(json);

}

}

});

希望本文所述对大家的jQuery程序设计有所帮助。

$('input')on('change',function(){

var value = $(this)val();

value = valuesplit("\\")[2];

})

value 就是名称。因为浏览器安全机制 获取到的value都是C:\fakepath\  加上名,所以可以用这个方式获取

语法Input(number, [#]filenumber)Input 函数的语法具有以下几个部分:部分描述number必要。任何有效的数值表达式,指定要返回的字符个数。filenumber必要。

任何有效的文件号。说明通常用 Print # 或 Put 将 Input 函数读出的数据写入文件。Input 函数只用于以 Input 或 Binary 方式打开的文件。

与 Input # 语句不同,Input 函数返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。

对于 Binary 访问类型打开的文件,如果试图用 Input 函数读出整个文件,则会在 EOF 返回 True 时产生错误。

以上就是关于分页打印网页怎么做js或者jquery全部的内容,包括:分页打印网页怎么做js或者jquery、jqprint importcss怎么用、jQuery处理json数据返回数组和输出的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9610417.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存