
用法:
$("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数据返回数组和输出的方法。分享给大家供大家参考。具体实现方法如下:
代码如下:
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
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
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数据返回数组和输出的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)