解讀WAP網(wǎng)站建設(shè)全攻略教程(2)_建站經(jīng)驗(yàn)教程
推薦:淺談圖書館網(wǎng)站建設(shè)網(wǎng)站的特色性建設(shè)則是一個(gè)網(wǎng)站能否區(qū)別于其他網(wǎng)站的重要特征, 是其能否吸引讀者的關(guān)鍵。建設(shè)圖書館網(wǎng)站不是一步到位、一蹴而就的事, 主頁制作需要精心規(guī)劃設(shè)計(jì),要不斷充實(shí)網(wǎng)站的資源。
WML學(xué)習(xí)(二)
基本格式和文件頭
wml文件的一般格式:
| 以下為引用的內(nèi)容: 《?xml version=”1.0“?》 《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org/DTD/wml_1.1.xml“》 《wml》 《head》 《access/》 《meta.。../》 《/head》 《card》 Some contents.。. 《/card》 《wml》 |
結(jié)構(gòu)看上去和HTMl文件很類似,對于每一個(gè)DECK,在其文檔開頭必須指明以下的類型聲明:
| 以下為引用的內(nèi)容: 《?xml version=”1.0“?》 《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org/DTD/wml_1.1.xml“》 |
千萬注意字母的大小寫。對于一個(gè)DECK,其文件大小最好不要超過1.2K。
《wml》標(biāo)簽和HTML中的《html》標(biāo)簽一樣,用來表明這是一個(gè) WML的DECK,它有一個(gè)可選的xml:lang屬性來制定文檔的語言,比如《wml xml:lang=”zh“》表示文檔語言為中文。
和HTML一樣《head》標(biāo)簽包含了該DESK的相關(guān)信息�!秇ead》 標(biāo)簽之間可以包含一個(gè)《access》標(biāo)簽和多個(gè)《meta》標(biāo)簽。
《access domain=”域“ path=”/路徑“ /》相當(dāng)于HTML中的《BASE》標(biāo)簽,指定該DECK的訪問控制信息,它用兩個(gè)可選的屬性,domain用來指定域,默認(rèn)值為當(dāng)前域, path用來指定路徑,默認(rèn)值為”/“,即根目錄。由于 《access》單獨(dú)使用,所以要用/結(jié)尾,以后對于類似的情況不再贅述。
《meta 屬性 content=”值“ scheme=”格式“ forua=”true|false“/》 和HTML中的類似,提供了該DECK的meta信息。屬性是必選的,包括一下三種情況name=”name“ UP.Link Server忽略meta數(shù)據(jù)
http-equiv=”name“ UP.Link Server將meta 數(shù)據(jù)轉(zhuǎn)為 HTTP 響應(yīng)頭(同HTML)
user-agent=”agent“ UP.Link Server 直接將 meta 數(shù)據(jù)傳給手機(jī)設(shè)備,content屬性也是必選的,其內(nèi)容根據(jù)屬性而定。scheme屬性目前尚不支持。forua 為可選屬性,指定在該wml文件傳到客戶端之前,《meta》標(biāo)簽是不是被中間代理刪除(因?yàn)閭鬏數(shù)膮f(xié)議可能改變),默認(rèn)值為false。
目前支持的meta數(shù)據(jù):
《meta http-equiv=”Cache-Control“ content=”max-age=3600“/》指定DECK在手機(jī)內(nèi)存緩存中的存儲(chǔ)時(shí)間段,默認(rèn)的為30天(除非內(nèi)存耗盡),在該期間, 手機(jī)對于訪問過的DECK直接從緩存里調(diào)用。如果信息是對時(shí)間敏感的,可以用max-age指定DECK在緩存里的生存期,最小單位是秒, 如果指定為0, 則每次都需通過連接服務(wù)器來調(diào)用該DECK。
《meta user-agent=”vnd.up.markable“ content=”false“/》和《meta user-agent=”vnd.up.bookmark“ content=”指定的URL“/》 類似于普通瀏覽器的書簽功能。當(dāng)用戶將一個(gè)CARD做了書簽后,手機(jī)瀏覽器首先用一個(gè)標(biāo)記記錄該CARD, 這個(gè)標(biāo)記默認(rèn)的是《card》標(biāo)簽中的title屬性(以后會(huì)講到),然后當(dāng)用戶選擇了該書簽以后,瀏覽器就會(huì)打開被記錄的URL。但是因?yàn)樵谀J(rèn)的情況下,手機(jī)會(huì)記錄所有的DECK,所以,一般《meta》被用來使手機(jī)不要記錄當(dāng)前的URL,即《meta user-agent=”vnd.up.markable“ content=”false“/》。此外, 如果要為書簽指定不同于當(dāng)前DRECk的 URL,用《meta user-agent=”vnd.up.bookmark“ content=”指定的URL“/》。
一個(gè)DECK可以包含多個(gè)CARD,每個(gè)CARD的內(nèi)容可能不止一屏顯示,注意DECK,CARD和屏幕顯示范圍的關(guān)系。一個(gè)CARD用《card》和《/card》包含。《card》可以包含以下可選的屬性:
《card id=”name“ title=”label“ newcontext=”false“ ordered=”true“ onenterforward=”url“ onenterbackward=”url“ ontimer=”url“》
*id屬性用來指定CARD的名字,可用來在CARD間跳轉(zhuǎn),相當(dāng)于在HTML中在頁內(nèi)跳轉(zhuǎn)時(shí)用《A NAME=”jumpHere“》。
*title屬性用來作為書簽的標(biāo)記,該屬性一般不會(huì)顯示在屏幕上。
*newcontext屬性,默認(rèn)值為false, 用來指示當(dāng)跳轉(zhuǎn)到本CARD時(shí),手機(jī)是不是要清除以前保留的信息,包括變量,堆棧里的歷史記錄,重新設(shè)置手機(jī)狀態(tài)等。
*ordered屬性,默認(rèn)值是true,表明該CARD里的內(nèi)容是按固定的順序顯示, 還是按用戶的選擇來顯示。這點(diǎn)和HTMl不同,CARD 頁面里的內(nèi)容可以按一定的順序顯示,默認(rèn)的是按線性順序顯示,即按代碼的順序, 但是,要注意的是,以下三個(gè)標(biāo)簽必須按以下順序來寫《onevent》《timer》《do》, (這和以后要講的“事件”有關(guān))。這樣做是為了方便填表單,當(dāng)ordered設(shè)置為true時(shí),如果一個(gè)表單的內(nèi)容不能在一屏里顯示完,就分成多屏顯示;當(dāng)ordered設(shè)置為false時(shí), 手機(jī)可以顯示一個(gè)概要CARD來總結(jié)有效的選項(xiàng),用戶可以從中選取表單選項(xiàng)來填寫。
*onXXX屬性,類似于HTML標(biāo)簽中的onXXX屬性,用來捕捉事件,當(dāng)事件被觸發(fā)時(shí)執(zhí)行指定的操作(任務(wù)),在這里是轉(zhuǎn)向某個(gè)URL。
WML學(xué)習(xí)(三)
顯示文本
在文本的顯示上WML基本和HTML相同。文字段落包含在《p align= ”alignment“ mode=” wrapmode“》和《/p》之間,align屬性指定該段文字的對齊方式,默認(rèn)的是left,其他可選擇right和center;mode屬性指定當(dāng)一行顯示不下所有的文字時(shí)是否自動(dòng)換行,默認(rèn)的是自動(dòng)換行wrap,如果選nowrap,則在一行中顯示,瀏覽器會(huì)通過類似于水平滾動(dòng)條的機(jī)制來顯示所有文字。
換行標(biāo)簽也一樣為《br/》,這里先替一下,在標(biāo)單中如果有多個(gè)《input》或者《select》,其間不要用《br/》,否則會(huì)使手機(jī)瀏覽器認(rèn)為是斷點(diǎn)而把表單分頁顯示。
文字的修飾標(biāo)簽有《b》、《i》、《u》、《em》、《strong》、《big》和《small》,意義和HTML里的相同。
表格的顯示標(biāo)簽也和HTML相近,使用《table title=”name“ align=”left|right|center“ columns=”列數(shù)“》、《tr》和《td》來顯示,《table》的title屬性用來給表格取個(gè)名字,columns屬性指定表的列數(shù),不能為0,可選的align屬性和前面提到的一樣是對齊方式。表格中可以包含文字和圖片。
test1.wml
--------------
| 以下為引用的內(nèi)容: 《?xml version=”1.0“?》 《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org/DTD/wml_1.1.xml“》 《wml》 《card》 《p align=”center“》 《i》Hello《/i》《br/》 《b》《i》World!《/i》《/b》 《table title=”mytable“ align=”right“ columns=”2“》 《tr》 《td》1-1《/td》 《td》1-2《/td》 《/tr》 《tr》 《td》2-1《/td》 《td》2-2《/td》 《/tr》 《/table》 《/p》 《/card》 《/wml》 |
顯示圖片
顯示圖片(1位黑白BMP圖片)的標(biāo)簽一樣類似于HTML,《img alt=”text“ src=”url“ localsrc=”icon“ align=”left“ height=”n“ width=”n“ vspace=”n“ hspace=”n“/》,屬性中alt和src是必須要有的,其他可選。另外要注意的是《img》要放在《p》里,不能放在《do》和《option》等功能健標(biāo)簽和選單標(biāo)簽里。
*alt屬性用來指定當(dāng)手機(jī)不支持圖片顯示時(shí)用來顯示的文字。
*src屬性指定圖片的URL,但當(dāng)有了以下的localsrc屬性時(shí),手機(jī)瀏覽器就忽略src屬性。
*localsrc屬性用來指定顯示存在手機(jī)ROM中的圖標(biāo),如果找不到,則到UP.Link Server上去找。
*可選的align屬性用來表明圖片同當(dāng)前行文本的對齊方式,默認(rèn)值為bottom,可選to和middle。
*height、width、vspace、hspace屬性分別指定圖片的長寬和距環(huán)繞文字的間距,目前不是所有的WAP手機(jī)都支持這些屬性。
test2.wml
---------------
| 以下為引用的內(nèi)容: 《?xml version=”1.0“?》 《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org /DTD/wml_1.1.xml“》 《wml》 《card》 《p align=”center“》《img alt=”:)“ src=”xxx.bmp“ localsrc=”smileyface“/》《/p》 《/card》 《/wml》 |
WML學(xué)習(xí)(四)
錨和任務(wù)
連接是 HTML 頁面里最基本的功能, 在 WML 里也一樣用 《a href=”url“ title=”label“》 和 《/a》來包括用來建立連接的文字,必選屬性href指定了要打開的URL,可選的title屬性給該連接取個(gè)標(biāo)記名字,這個(gè)名字將作為軟按鈕之一的ACCEPT鍵(詳見以前的HDML入門文章)的標(biāo)記顯示在屏幕的軟按鈕區(qū),所以通�?梢詫傩宰鳛樘崾疚淖质怯�。
然而,以上的連接在WML里只是任務(wù)的一種情況,為了能夠使用其它任務(wù),所以引進(jìn)了新的標(biāo)簽《anchor title=”label“》任務(wù)標(biāo)簽 文本《/anchor》,《a》其實(shí)是當(dāng)任務(wù)標(biāo)簽為
《go/》時(shí)的簡單表示方式。
test3.wml
---------------
| 以下為引用的內(nèi)容: 《?xml version=”1.0“?》 《!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN“ ”http://www.wapforum.org /DTD/wml_1.1.xml“》 《wml》 《card》 《p》 《anchor title=”Link1“》《go href=”test1.wml“/》News《/anchor》《br/》 《a title=”Link2“ href=”test2.wml“》Sports《/a》 《/p》 《/card》 《/wml》 |
WML里的任務(wù)標(biāo)簽有以下幾種,除了用于《anchor》,還可以用在事件中:
1)《go》用來指示瀏覽器顯示指定的URL,包括DECK的第一個(gè)CARD或者指定的CARD。語
法如下:
| 以下為引用的內(nèi)容: 《go href=”url“ sendreferer=”false|true“ method=”get|post“ accept-charset =”charset“》 《postfield name=”name“ value=”value“/》 《setvar name=”name“ value=”value“/》 《/go》 |
其中href屬性為必選,其他為可選。sendreferer屬性表示是否傳遞調(diào)用href所指定的URL的頁面的URL,也就是當(dāng)前頁的URL,即 HTTP 頭中的HTTP_REFERER,默認(rèn)值為false,可選值為true。method和HTML中的表單FORM的method屬性一樣,指定表單是以get的方式還是post的方式遞交,以便cgi處理,默認(rèn)的值為get,但如果未指定method但《go》《/go》間存在《postfield》,手機(jī)自動(dòng)以post方式傳遞。accept-charset 屬性可覆蓋在HTTP頭里指定的字符集,可以寫多個(gè)字符集,如accept-charset=”UTF-8,US-ASCII, ISO-8859-1“。
《postfield name=”name“ value=”value“/》可以看作是HTML表單FORM中的《INPUT TYPE=”HIDDEN“ NAME=”變量名“ VALUE=”值“》,通過它可以向指定的URL傳遞以“變量名/值”形式的數(shù)據(jù)。name和value屬性都是必選的。注意只有這里的變量是用來遞交給CGI程序的。
除了《postfield》,還可以在《go》和《/go》間加入一句或者多句《setvar name=”name“ value=”value“/》,該語句的意思是,當(dāng)觸發(fā)某一事件時(shí),給變量賦值。
要注意的是,當(dāng)《go》和《/go》之間沒有任何語句時(shí),要用《go/》的形式,這點(diǎn)比較特別,比如《anchor title=”Link1“》《go href=”test.wml“/》News《/anchor》。
2)《prev》用來將當(dāng)前頁面的URL壓入U(xiǎn)RL歷史堆棧,并打開此前的URL,若該URL不存在,則《prev》無效。語法類似《go》:《prev》《setvar name=”name“ value=”value“/》《/prev》,《prev》和《/prev》之間可加入一句或多句《setvar name=”name“ value=”value“/》,若不加,則必須變成《prev/》的形式。
3)《refresh》用來刷新當(dāng)前的頁面,從而使得頁面內(nèi)的變量刷新,語法為《refresh》《setvar name=”name“ value=”value“/》《/refresh》。
4)《noop》,表示什么也不做,該標(biāo)簽不能用在《anchor》中,一般用在覆蓋DECK級(jí)的《do》(以后會(huì)說明)。
分享:給新手參考的建站經(jīng)歷一個(gè)偶然的機(jī)會(huì)我就有了想建站的沖動(dòng)!一開始還是比較迷茫的,不知道從何入手。 于是在網(wǎng)上下了DW8軟件開始學(xué)習(xí),因?yàn)闆]有老師,只好在網(wǎng)上下了一些最基本的教程來學(xué)習(xí),學(xué)習(xí)了一段時(shí)間之后感覺有點(diǎn)郁悶吧。是懂得了一點(diǎn)操作了,但總是做得不盡人意呀。 似懂
- 相關(guān)鏈接:
- 教程說明:
建站經(jīng)驗(yàn)教程-解讀WAP網(wǎng)站建設(shè)全攻略教程(2)
。