韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

IE6.0打印機制解析

IE6.0打印機制解析

更新時間:2021-01-01 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

 

網(wǎng)頁打印,可以通過瀏覽器的"打印"功能實現(xiàn),但"打印模板"機制,卻是 IE 5.5 /6.0 以及 Netscape 6.0 所獨有的;準(zhǔn)確一點, IE 5.5 只是一個機制雛形,在 IE 6.0 中才得以完全體現(xiàn)。IE 6.0 的打印功能模塊,在精確控制頁面邊界,文本間隔,以及打印的統(tǒng)一性上,功能更為完備。

通過創(chuàng)建打印模板,你可以精確控制:

網(wǎng)頁打印及預(yù)覽時的頁面風(fēng)格與內(nèi)容編排風(fēng)格;
打印屬性,如自動為打印的頁面添加卷標(biāo)或編號;
精確控制打印預(yù)覽界面的各個元素與變量。

通過打印模板,你可以:

自動為所有打印頁面添加固定內(nèi)容,如公司標(biāo)識,版權(quán)申明,或者指定廣告;
自定義頁面標(biāo)頭與尾注等元素,比如頁碼或卷標(biāo);
指定打印歷史與任務(wù);
書本化奇偶分頁映射打印......

打印模板機制是建立在動態(tài) HTML 語言基礎(chǔ)上的,涉及到主要兩個行為:DeviceRect, LayoutRect ,下面我們就這兩個行為深入地探討 IE 6.0 的打印機制。

另外需要說明的是,DHTML (動態(tài)超文本標(biāo)識語言)的行為跟其他語言的"行為"一樣,都是一種應(yīng)用編程接口,初始狀態(tài)下有自己的默認屬性,在一定的事件下,由用戶決定調(diào)用其承認的功能模塊,從而產(chǎn)生相對應(yīng)的"行為"。而且,"行為"可以自己編寫,不過得以".htc"為其擴展名以供調(diào)用。

一.DeviceRect ,定義打印總體風(fēng)格:

打印總體風(fēng)格,包括為打印頁面添加如公司標(biāo)識的固定內(nèi)容(網(wǎng)頁上不一定有,只體現(xiàn)在打印紙張上或預(yù)覽頁面上,后同);打印頁面的顏色風(fēng)格;打印頁面的邊緣屬性或圖案;等等。

在進行 DeviceRect 引用前,先得確定頁面風(fēng)格,方法是用<Style>進行設(shè)置。

例一:我們來定制如下的打印模板
8.5 inch 寬
11 inch 高
黃色背景
1 pixel 寬的黑色實心左邊界
1 pixel 寬的黑色實心上邊界
4 pixels 寬的黑色實心右邊界
4 pixels 寬的黑色實心下邊界
所有邊界與紙張邊緣為 10 pixels 的距離

現(xiàn)在我們用 Style 進行設(shè)定,假設(shè)這個 Style 名為 Mystyle1:

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

下面我們給出 DeviceRect 引用的完全頁面代碼,

<HTML XMLNS:IE>
<HEAD>
<?IMPORT NAMESPACE="IE" IMPLEMENTATION="#default">
<STYLE TYPE="text/css">
.Mystyle1
{
width:8.5in;
height:11in;
background:#FFFF99;
border-left:1 solid black;
border-top:1 solid black;
border-right:4 solid black;
border-bottom:4 solid black;
margin:10px;
}
</STYLE>
</HEAD>
<BODY>

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

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

</BODY>
</HTML>

在這個頁面中,共進行了兩個 DeviceRect 引用。作為一種規(guī)則,每一個單獨的打印頁面,必須有一個相對應(yīng)的 DeviceRect 標(biāo)記,如果有 1000 個頁面,那就得有 1000 個 DeviceRect 標(biāo)記!嚇住了?別擔(dān)心,后面我們會教你一個方法,讓所有的 DeviceRect 標(biāo)記自動完成!

在上面的代碼中,ID 是標(biāo)志屬性,不同的頁面必須有自己不同的標(biāo)識;CLASS 引用了 Style 屬性;MEDIA 屬性則指明了本頁面的最終用途是進行打;<?IMPORT NAMESPACE="IE" IMPLEMENTATION="#default">這句話則是指輸入默認的行為,它們分別是 DeviceRect, LayoutRect。

二.LayoutRect ,定義頁面內(nèi)容風(fēng)格:

DeviceRect 一樣,不同的頁面,要進行 LayoutRect 引用時都需要添加 LayoutRect 標(biāo)記,其智能添加方法將在后面介紹; LayoutRectDeviceRect 如果在同一個頁面中同時出現(xiàn),則前者需放在后者之內(nèi);另外, LayoutRect 對內(nèi)容風(fēng)格的設(shè)定,也通過 Style 得以實現(xiàn)。

例二:我們來定制如下的內(nèi)容風(fēng)格的打印模板:

5.5 inches 寬
8 inches 高
與打印紙張邊緣,四邊保持 1 inch 的寬度(加上頁面本身的邊緣寬度,為實際的打印邊緣寬度)
白色背景
1 inch 寬的虛線邊界

先定制名為 contentstyle 的風(fēng)格:

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

然后下面是進行引用的完整網(wǎng)頁代碼:

<HTML>
<HEAD>
<?IMPORT NAMESPACE="IE" IMPLEMENTATION="#default">
<STYLE TYPE="text/css">
.contentstyle
{
width:5.5in;
height:8in;
margin:1in;
background:white;
border:1 dashed gray;
}
</STYLE>
</HEAD>

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

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

跟例一中的源代碼相比,例二中只是以 LayoutRect 代替了原來的 DeviceRect 標(biāo)記;DeviceRect 定制的是模板整體風(fēng)格,而 LayoutRect 定制的是具體內(nèi)容的版面風(fēng)格;LayoutRect 的 ID 屬性也具有唯一性; CONTENTSRC 屬性則指明了具體的將起作用網(wǎng)頁文件;CLASS 指明了風(fēng)格的引用對象;跟 DeviceRect 不同,在進行 LayoutRect 引用時,必須在每個頁面指定 NEXTREC ,即依次排列的下一個內(nèi)容風(fēng)格,這里的"下一個內(nèi)容"用其頁面的相應(yīng) ID 進行標(biāo)識,如本例中的 LayoutRect2 。

三.DeviceRect 與 LayoutRect 的協(xié)同作戰(zhàn):

上面我們分別討論了 DeviceRectLayoutRect 的作用與引用方法,現(xiàn)在我們來看一下,如何在同一個打印模板中進行定制與引用。

在每一個打印模板上,必然包含兩方面的內(nèi)容,一個是整體的模板風(fēng)格(DeviceRect),另一個是內(nèi)容風(fēng)格(LayoutRect);第一個打印頁面跟其他頁面是不同的,因為第一個頁面中必須指明 CONTENTSRC 屬性,而同一打印任務(wù)中的其他頁面不再需要進行 CONTENTSRC 的指定。

例三:

下面是第一個頁面中的 DeviceRect 代碼:

<IE:DEVICERECT ID="page1" CLASS="masterstyle" MEDIA="print">
<IE:LAYOUTRECT ID="layoutrect1" CONTENTSRC="2.html" CLASS="contentstyle" NEXTRECT="layoutrect2"/>
</IE:DEVICERECT>

下面是其他頁面中的 DeviceRect 代碼:

<IE:DEVICERECT ID="page2" CLASS="masterstyle" MEDIA="print">
<IE:LAYOUTRECT ID="layoutrect2" CLASS="contentstyle"/>
</IE:DEVICERECT>

下面我們將 DeviceRectLayoutRect 結(jié)合起來使用,其源代碼如下:

<HTML XMLNS:IE>
<HEAD>
<?IMPORT NAMESPACE="IE" IMPLEMENTATION="#default">
<STYLE TYPE="text/css">
.contentstyle
{
width:5.5in;
height:8in;
margin:1in;
background:white;
border:1 dashed gray;
}
.Mystyle1
{
width:8.5in;
height:11in;
background:#FFFF99;
border-left:1 solid black;
border-top:1 solid black;
border-right:4 solid black;
border-bottom:4 solid black;
margin:10px;
}
</STYLE>
</HEAD>

<BODY>
<IE:DEVICERECT ID="page1" CLASS="Mystyle1" MEDIA="print">
<IE:LAYOUTRECT ID="layoutrect1" CONTENTSRC="2.html" CLASS="contentstyle" NEXTRECT="layoutrect2"/>
</IE:DEVICERECT>

<IE:DEVICERECT ID="page2" CLASS="Mystyle1" MEDIA="print">
<IE:LAYOUTRECT ID="layoutrect2" CLASS="contentstyle"/>
</IE:DEVICERECT>

</BODY>
</HTML>

四.DeviceRect 與 LayoutRect 標(biāo)記的動態(tài)自動添加:

前面我們說到,每個單獨的打印頁面都需要各自的 DeviceRectLayoutRect 標(biāo)記,那么,如果我們有 1000 個頁面需要打印,是否就要在每個頁面上重復(fù)繁瑣的 Copy & Paste 操作?

答案是否定的,我們完全可以通過 JavaScript 腳本來完成這一繁瑣的工作。

要實現(xiàn) HTML 聲明的動態(tài)創(chuàng)建,關(guān)鍵在于 <DIV> 標(biāo)記的定義,下面是其定義規(guī)則。

<DIV ID="devicecontainer">
......
</DIV>

<DIV>與</DIV>之間,采用 insertAdjacentHTML() 方式,并主要利用了其 afterBegin 與 BeforeEnd 兩個變量,現(xiàn)在我們將第一個頁面"插入"到<DIV></DIV>之間:

devicecontainer.insertAdjacentHTML("afterBegin", newHTML);

具有繼承屬性的后續(xù)頁面,調(diào)用 beforeEnd 變量:

devicecontainer.insertAdjacentHTML("beforeEnd", newHTML);

要裝載 devicecontainer 頁面,還需在 <Body>中添加:

<BODY ONLOAD="addFirstPage()">

現(xiàn)在我們在 JavaScript 中添加包含前面詳細介紹的 LayoutRectDeviceRect 元素,用到的命令是 addFirstPage() 。需要注意的是,newHTML 標(biāo)記后使用的是雙引號,而 LayoutRectDeviceRect 標(biāo)記后的變量使用單引號。如下:

function addFirstPage() {
newHTML = "<IE:DEVICERECT ID='devicerect1' MEDIA='print' CLASS='mystyle1'>";
newHTML += "<IE:LAYOUTRECT ID='layoutrect1' CONTENTSRC='2.html'" + "ONLAYOUTCOMPLETE='onPageComplete()' NEXTRECT='layoutrect2'" + "CLASS='contentstyle'/>";
newHTML += "</IE:DEVICERECT>";

devicecontainer.insertAdjacentHTML("afterBegin", newHTML);
}

細心的讀者一定會發(fā)現(xiàn),LayoutRect 后出現(xiàn)了一個新的屬性:LayoutRect:onLayoutComplete ,這個屬性主要指定了 LayoutRect 停止響應(yīng)的后續(xù)事件,如系統(tǒng)資源消耗殆盡而停止響應(yīng),或者 LayoutRect 指定的變量溢出。

好了,有了上面的原理,下面我們來編寫具有自動"插入"功能的 JavaScript 代碼:

function onPageComplete() {
if (event.contentOverflow) {
newHTML = "<IE:DEVICERECT ID='devicerect" + (lastPage + 1) + "' MEDIA='print' CLASS='mystyle1'>";
newHTML += "<IE:LAYOUTRECT ID='layoutrect" + (lastPage + 1) + "' ONLAYOUTCOMPLETE='onPageComplete()' NEXTRECT='layoutrect" + (lastPage + 2) + "' CLASS='contentstyle'/>";
newHTML += "</IE:DEVICERECT>";

devicecontainer.insertAdjacentHTML("beforeEnd", newHTML);
lastPage++;
}

在上面的代碼中,contentOverflow 代表的是由于頁面信息過長,本頁的 LayoutRect 停止響應(yīng),則直接跳到下一個頁面,讓 LayoutRect 重新定義下一個頁面的版面;onPageComplete() 則不管頁面是否過長,LayoutRect 是否停止響應(yīng),只要到了頁面尾部則自動跳到下一頁,這也是最常見的情況。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
中文字幕永久免费| 美国做受三级的视频播放| 亚洲高清资源在线观看| 欧美成人aaa片一区国产精品| 国产伊人精品| 成人毛片在线免费观看| 久久永久免费视频| 久久久久国产一区二区三区| 欧美三级乱码| 一区二区在线观看视频在线观看| 成人拍拍拍免费视频网站| 在线成人动漫av| 一级成人黄色片| 老**午夜毛片一区二区三区| 国模精品视频一区二区| 久久精品国产一区二区三区日韩| 成年网站免费入口在线观看| 嫩草影院在线观看网站成人| 成人综合日日夜夜| 欧美国产在线观看| 少妇高潮av久久久久久| 一区国产精品视频| 欧美日韩视频在线第一区| 福利欧美精品在线| 九义人在线观看完整免费版电视剧| 久久综合九色综合欧美狠狠| 成人黄色一区二区| 亚洲一二三四在线| 精品无人区一区二区三区竹菊| 午夜av噜噜噜噜噜噜| 疯狂蹂躏欧美一区二区精品| 欧美激情一区二区三区在线视频观看| 天天操夜夜骑| 精品亚洲国产成av人片传媒| 日日狠狠久久偷偷四色综合免费| 91国在线高清视频| 欧亚洲嫩模精品一区三区| 欧美私密网站| 国产中文一区二区三区| 99视频这里有精品| 尤物视频在线观看国产| 国产精品亚洲一区二区三区在线观看| 亚洲国产日韩综合一区| 欧美吞精做爰啪啪高潮| 欧美另类变人与禽xxxxx| 成人影院大全| 欧美国产乱视频| 一区二区三区四区乱视频| 国产视频99| 亚洲高清毛片| 国产又爽又黄ai换脸| 日韩国产专区| 日本韩国欧美三级| 日本三级中文字幕在线观看| 性欧美videos高清hd4k| 精品国产18久久久久久二百| 婷婷综合社区| 狠狠干狠狠久久| 亚洲成人高清在线| 另类专区亚洲| 黄视频免费在线看| 91九色国产在线播放| 天天干天天爱天天操| 色777狠狠综合秋免鲁丝| 国产成人久久精品麻豆二区| 18+视频在线观看| 中文在线天堂网| 久久天天躁狠狠躁夜夜av| 视色视频在线观看| 中文字幕视频免费观看| 伊人精品在线观看| 久久狠狠高潮亚洲精品| 亚洲va欧美va国产综合久久| 天天综合成人网| 国内精品在线视频| 免费毛片在线播放免费| 国产精品入口日韩视频大尺度| 国产精品午夜影院| 国产大奶视频| 国产亚洲精久久久久久| 亚洲最大中文字幕| 欧美日韩激情在线一区二区三区| 91成人免费在线观看| 日韩黄色精品视频| 国产午夜在线视频| 中文国产成人精品| 亚洲丝袜av一区| 国产一区二区三区四区三区四| 女教师高潮黄又色视频| 黄色高清视频网站| ww国产内射精品后入国产| 视频一区二区在线观看| 91热视频在线观看| 久久精品99无色码中文字幕| 国产精品白丝jk白祙| 国产盗摄在线视频网站| 午夜视频在线播放| 五月天激情综合| 国产在线视频你懂的| 性久久久久久久久久久久| 亚洲精品精品一区| 欧美日韩在线视频一区二区三区| 97午夜影院| 国产三级av在线播放| 婷婷亚洲成人| 国产午夜精品福利| 久热这里只精品99re8久| 91在线精品一区二区| 日韩av免费在线播放| 97超碰人人看人人| 亚洲国产另类 国产精品国产免费| 亚洲激情欧美色图| 久久久久久久久久久久久久久国产| 黄网站在线观看高清免费| 丁香花在线观看完整版电影| yy4480电影网| 日韩亚洲欧美中文字幕| 久久国产麻豆精品| 国产精品视频大全| 大桥未久女教师av一区二区| 亚洲三区欧美一区国产二区| 国产精品老牛| 国产尤物在线观看| 日本一线产区和二线产区| 日本韩国精品一区二区| 久久机这里只有精品| 免费黄色福利视频| 欧美先锋资源| 成人国内精品久久久久一区| 91动漫在线看| 999久久久免费精品国产牛牛| 全球最大av网站久久| 亚洲激情网址| 色综合久久精品亚洲国产| 日韩欧美一区二区三区免费观看| 99综合精品久久| 日本欧美一二三区| 国产一区日韩二区欧美三区| 欧美高清在线一区二区| 一区二区三区欧美亚洲| 精品成人乱色一区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品熟女视频| 黑人巨大精品欧美一区二区免费| 视频一区中文字幕精品| 国产精品人人爽| 激情在线小视频| 天堂在线亚洲视频| 高清不卡亚洲| 日韩一卡二卡三卡四卡| 亚洲一区第一页| 91在线云播放| 99精品中文字幕| 国外成人在线播放| 精久久久久久久久久久| 三级视频网站在线| 青青艹视频在线| 欧美一乱一性一交一视频| 一卡二卡在线观看| 在线观看亚洲色图| 精品国产乱子伦一区二区| 在线免费观看麻豆| 欧美激情a∨在线视频播放| 激情五月婷婷六月| 性生活视频软件| 欧美α欧美αv大片| 国产亚洲精品久| 久久免费精品日本久久中文字幕| 亚洲一区二区久久久| 不要播放器的av网站| 99视频在线免费播放| 成人区精品一区二区不卡| 黄色免费观看| 精品一区二区三区人妻| 国产精品久久久久久久久久妞妞| 在线国产欧美| 2023国产精品| 欧美在线观看视频网站| 国产麻豆精品久久一二三| 久久精品国产一区二区三| 欧美一级爽aaaaa大片| 影音先锋亚洲电影| 久久一区二区三区超碰国产精品| 久久天堂av综合合色蜜桃网| 999成人精品视频线3| 性欧美8khd高清极品| 伊人久久在线观看| 91九色蝌蚪porny| 国产成人在线中文字幕| 免费人成黄页在线观看忧物| 免费观看污网站| 丝袜美腿中文字幕| 国产人妻互换一区二区| 国产精品沙发午睡系列990531| 欧美日韩一区二区三区69堂| 国产日韩欧美综合一区| 扒开jk护士狂揉免费| 中文字幕人妻一区二区| 亚洲美女少妇无套啪啪呻吟| 性网站在线观看| 亚洲精品视频导航| 天堂电影院在线| 丁香花免费高清完整在线播放| 色999韩欧美国产综合俺来也| 男人的天堂在线播放| 高清视频一区| 一区二区日本伦理| 亚洲精品国产手机| 日韩久久免费av| 欧美性受xxxx狂喷水| 精品国产一区二区三区四区vr| 久热这里只有精品在线| 久久av资源网站| 乱妇乱女熟妇熟女网站| 成人激情黄色小说| 国产色91在线| 色呦呦呦在线观看| 你懂的在线视频| 亚洲AV无码久久精品国产一区| 亚洲精品日产精品乱码不卡| 99久久综合色| 97人妻人人揉人人躁人人| 成人一二三四区| 日韩成人综合网站| 国产色产综合产在线视频| 秋霞国产午夜精品免费视频| 99久久亚洲精品| 九色精品视频在线观看| 亚洲精品视频在线观看网站| 亚洲麻豆视频| 一根才成人网| 亚洲成人av免费在线观看| 亚洲视频一区二区免费在线观看| 无码任你躁久久久久久老妇| 蜜桃精品视频在线| 三级黄色免费观看| 久久这里只精品最新地址| 国产男男chinese网站| 国产色视频一区二区三区qq号| 无码人妻精品一区二区三应用大全| 亚洲综合激情视频| 日韩一级理论片| 久久成人亚洲精品| 久久福利电影| 日韩av视屏| 青娱乐精品在线| 91caoporn在线| 社区色欧美激情 | 亚洲成人av高清| 欧美高清中文字幕| 中文字幕 亚洲一区| 男人的天堂色| 中文字幕乱码一区二区免费| 狠狠色丁香久久综合频道| 99这里只有精品| 巨大黑人video| 天天操天天综合网| 精品日韩电影| 激情av在线播放| 免费在线观看黄色小视频| 中文字幕一区二区久久人妻网站| 色综合咪咪久久网| 日本久久久久久久久久久久| 99久久久国产精品免费蜜臀| 亚洲免费电影一区| 亚洲欧美韩国综合色| 在线视频 中文字幕| 精品国产一区二区在线| 中文字幕在线观| 午夜肉伦伦影院| 麻豆av资源| 毛片视频免费观看| 91成人在线免费视频| 99re视频精品| 国产深夜视频在线观看| 亚洲激情在线看| 色一情一乱一区二区三区| 91精品国产综合久久精品app| 欧美色图片你懂的| 99ri日韩精品视频| 九色在线视频蝌蚪| 极品尤物一区| 综合国产视频| 欧美a∨亚洲欧美亚洲| 9191成人精品久久| 国产乱码精品一区二区三区中文| 亚洲天堂男人的天堂| 中文字幕一区二区三区不卡| 精品人妻一区二区三区麻豆91| 久久色中文字幕| 午夜国产福利在线| 人人妻人人澡人人爽欧美一区双| a天堂中文在线| 亚洲午夜精品久久久中文影院av| 欧美亚洲日本一区二区三区| 国产精品欧美综合在线| 中文字幕乱码一区二区免费| 国产 日韩 欧美 精品| 中国女人内谢25xxxx免费视频| 日韩欧美在线影院| 偷拍自拍亚洲| 蜜桃一区av| 91国偷自产中文字幕久久| 国产精品欧美久久久久一区二区| 德国一级在线视频| 国产精品二区二区三区| 美女黄毛**国产精品啪啪| 欧美日韩一区二区精品| 性中国古装videossex| 国产欧美精品一区二区三区-老狼| 老司机午夜免费福利视频| 亚洲男人天堂影院| 污网站在线观看免费| 久久夜精品香蕉| 婷婷久久久久久| 668精品在线视频| 色爱av美腿丝袜综合粉嫩av| 欧洲天堂在线观看| 国模无码视频一区| 国产综合av一区二区三区| 丰满少妇在线观看资源站| 天堂视频在线免费观看| 99免费看香蕉视频| 中文字幕在线日本| 手机看片一区二区三区| 亚洲精品久久久久中文字幕二区| 亚洲第一免费网站| 欧美精品成人在线|