仓酷云

标题: ASP教程之剖析IE6.0打印机制(转) [打印本页]

作者: 深爱那片海    时间: 2015-1-16 22:50
标题: ASP教程之剖析IE6.0打印机制(转)
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.打印网页打印,能够经由过程扫瞄器的"打印"功效完成,但"打印模板"机制,倒是IE5.5/6.0和Netscape6.0所独占的;正确一点,IE5.5只是一个机制雏形,在IE6.0中才得以完整表现。IE6.0的打印功效模块,在准确把持页面界限,文本距离,和打印的一致性上,功效更加完整。
 

经由过程创立打印模板,你能够准确把持:
 

网页打印及预览时的页面作风与内容编排作风;打印属性,如主动为打印的页面增加卷标或编号;准确把持打印预览界面的各个元素与变量。

经由过程打印模板,你能够:

主动为一切打印页面增加流动内容,如公司标识,版权声名,大概指定告白;自界说页面标头与尾注等元素,好比页码或卷标;指定打印汗青与义务;书籍化奇偶分页映照打印......
 

打印模板机制是创建在静态HTML言语基本上的,触及到次要两个举动:DeviceRect,LayoutRect,上面我们就这两个举动深切地切磋IE6.0的打印机制。

别的必要申明的是,DHTML(静态超文本标识言语)的举动跟其他言语的"举动"一样,都是一种使用编程接口,初始形态下有本人的默许属性,在必定的事务下,由用户决意挪用其供认的功效模块,从而发生绝对应的"举动"。并且,"举动"能够本人编写,不外得以".htc"为其扩大名以供挪用。

一.DeviceRect,界说打印整体作风:

打印整体作风,包含为打印页面增加如公司标识的流动内容(网页上纷歧定有,只表现在打印纸张上或预览页面上,后同);打印页面的色彩作风;打印页面的边沿属性或图案;等等。

在举行DeviceRect援用前,先得断定页面作风,办法是用<Style>举行设置。

例一:我们来定制以下的打印模板

8.5inch宽
11inch高
黄色背景
1pixel宽的玄色实心右边界
1pixel宽的玄色实心上界限
4pixels宽的玄色实心右侧界
4pixels宽的玄色实心下界限
一切界限与纸张边沿为10pixels的间隔

如今我们用Style举行设定,假定这个Style名为Mystyle1:
 

<STYLETYPE="text/css">
.Mystyle1
{
width:8.5in;
height:11in;
background:#FFFF99;
border-left:1solidblack;
border-top:1solidblack;
border-right:4solidblack;
border-bottom:4solidblack;
margin:10px;
}
</STYLE>

上面我们给出DeviceRect援用的完整页面代码
 

<HTMLXMLNS:IE>
<HEAD>
<?IMPORTNAMESPACE="IE"IMPLEMENTATION="#default">
<STYLETYPE="text/css">
.Mystyle1
{
width:8.5in;
height:11in;
background:#FFFF99;
border-left:1solidblack;
border-top:1solidblack;
border-right:4solidblack;
border-bottom:4solidblack;
margin:10px;
}
</STYLE>
</HEAD>
<BODY>

<IE:DEVICERECTID="page1"CLASS="Mystyle1"MEDIA="print">
</IE:DEVICERECT>

<IE:DEVICERECTID="page2"CLASS="Mystyle1"MEDIA="print">
</IE:DEVICERECT>

</BODY>
</HTML>

在这个页面中,共举行了两个DeviceRect援用。作为一种划定规矩,每个独自的打印页面,必需有一个绝对应的DeviceRect标志,假如有1000个页面,那就得有1000个DeviceRect标志!吓住了?别忧虑,前面我们会教你一个办法,让一切的DeviceRect标志主动完成!

在下面的代码中,ID是标记属性,分歧的页面必需有本人分歧的标识;CLASS援用了Style属性;MEDIA属性则指了然本页面的终极用处是举行打印;<?IMPORTNAMESPACE="IE"IMPLEMENTATION="#default">这句话则是指输出默许的举动,它们分离是DeviceRect,LayoutRect。

 

二.LayoutRect,界说页面内容作风:
 

跟DeviceRect一样,分歧的页面,要举行LayoutRect援用时都必要增加LayoutRect标志,其智能增加办法将在前面先容;LayoutRect与DeviceRect假如在统一个页面中同时呈现,则前者需放在后者以内;别的,LayoutRect对内容作风的设定,也经由过程Style得以完成。

例二:我们来定制以下的内容作风的打印模板

5.5inches宽
8inches高
与打印纸张边沿,四边坚持1inch的宽度(加上页面自己的边沿宽度,为实践的打印边沿宽度)
红色背景
1inch宽的虚线界限

先定制名为contentstyle的作风:
 

<STYLETYPE="text/css">
.contentstyle
{
width:5.5in;
height:8in;
margin:1in;
background:white;
border:1dashedgray;
}
</STYLE>


然后上面是举行援用的完全网页代码:

<HTML>
<HEAD>
<?IMPORTNAMESPACE="IE"IMPLEMENTATION="#default">
<STYLETYPE="text/css">
.contentstyle
{
width:5.5in;
height:8in;
margin:1in;
background:white;
border:1dashedgray;
}
</STYLE>
</HEAD>

<BODY>
<IE:LAYOUTRECTID="layoutrect1"CONTENTSRC="2.html"CLASS="contentstyle" NEXTRECT="layoutrect2"/>

<IE:LAYOUTRECTID="layoutrect2"CLASS="contentstyle"/>
</BODY>
</HTML>
 


跟例一中的源代码比拟,例二中只是以LayoutRect取代了本来的DeviceRect标志;DeviceRect定制的是模板全体作风,而LayoutRect定制的是详细内容的版面作风;LayoutRect的ID属性也具有独一性;CONTENTSRC属性则指了然详细的将起感化网页文件;CLASS指了然作风的援用工具;跟DeviceRect分歧,在举行LayoutRect援用时,必需在每一个页面指定NEXTREC,即顺次分列的下一个内容作风,这里的"下一个内容"用其页面的响应ID举行标识,如本例中的LayoutRect2。
 

三.DeviceRect与LayoutRect的协同作战:
 

下面我们分离会商了DeviceRect与LayoutRect的感化与援用办法,如今我们来看一下,怎样在统一个打印模板中举行定制与援用。

在每个打印模板上,一定包括两方面的内容,一个是全体的模板作风(DeviceRect),另外一个是内容作风(LayoutRect);第一个打印页面跟其他页面是分歧的,由于第一个页面中必需指明CONTENTSRC属性,而统一打印义务中的其他页面不再必要举行CONTENTSRC的指定。
 

例三:

上面是第一个页面中的DeviceRect代码:
 

<IE:DEVICERECTID="page1"CLASS="masterstyle"MEDIA="print">
</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
作者: 灵魂腐蚀    时间: 2015-1-17 12:14
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: 小妖女    时间: 2015-1-18 11:00
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者: 愤怒的大鸟    时间: 2015-1-21 20:29
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
作者: 再见西城    时间: 2015-1-30 22:06
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 谁可相欹    时间: 2015-2-6 16:14
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者: 精灵巫婆    时间: 2015-2-17 03:38
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者: 因胸联盟    时间: 2015-3-5 15:36
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
作者: 分手快乐    时间: 2015-3-12 09:21
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
作者: 山那边是海    时间: 2015-3-19 19:40
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2