今天在論壇上面看到有些兄弟不知道HTC是什么東西。小生在這里稍微說(shuō)一下。
從5.5版本開(kāi)始,Internet Explorer(IE)開(kāi)始支持Web 行為的概念。這些行為是由后綴名為.htc的腳本文件描述的,它們定義了一套方法和屬性,程序員幾乎可以把這些方法和屬性應(yīng)用到HTML頁(yè)面上的任何元素上去。Web 行為是非常偉大的因?yàn)樗鼈冊(cè)试S程序員把自定義的功能“連接”到現(xiàn)有的元素和控件,而不是必須讓用戶(hù)下載二進(jìn)制文件(例如ActiveX 控件)來(lái)完成這個(gè)功能。Web 行為還是推薦的擴(kuò)展IE對(duì)象模型和控件集的方法。微軟在它的開(kāi)發(fā)者站點(diǎn)上的DHTML 行為庫(kù)欄目里提供了幾個(gè)定制的Web行為。我會(huì)在本文中討論一個(gè)比較新的Web 行為:WebService行為。
Web 服務(wù)是通過(guò)一個(gè)開(kāi)放的簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議(SOAP)來(lái)傳遞參數(shù)和接收返回值,以便在Web上提供接口無(wú)關(guān)的軟件服務(wù)的方法。在Internet上有許多例子和文章幫助你創(chuàng)建Web 服務(wù)并從傳統(tǒng)的基于窗口表單的應(yīng)用程序或者在服務(wù)器端來(lái)使用這些Web 服務(wù),但是也可以使用WebService 行為也可以在客戶(hù)瀏覽器上使用Web 服務(wù)。
從客戶(hù)瀏覽器調(diào)用一個(gè)Web 服務(wù)的好處包括能夠得到服務(wù)器更快的響應(yīng)時(shí)間,結(jié)果是生成交互能力更強(qiáng)的頁(yè)面并讓用戶(hù)用起來(lái)更高興。與傳統(tǒng)的將表單發(fā)回服務(wù)器然后接收一個(gè)新的頁(yè)面不同的是(這個(gè)過(guò)程包括重新下載圖片和其它的內(nèi)容),WebService行為使用XMLHTTP在后臺(tái)只發(fā)送和接收與事務(wù)處理過(guò)程相關(guān)的內(nèi)容,然后這些內(nèi)容又可以通過(guò)DHTML和腳本進(jìn)行顯示。
我所知道的目前支持Web 行為的唯一一個(gè)瀏覽器是IE;開(kāi)發(fā)者們知道避免使用只能在IE上使用的功能。但是W3C在工作草案里有這個(gè)CSS的擴(kuò)展以作為未來(lái)的標(biāo)準(zhǔn)。
如果你決定現(xiàn)在就使用Web 行為,你可以使用下面的JavaScript函數(shù)來(lái)檢測(cè)客戶(hù)端是否支持這個(gè)功能:
function canUseBehaviors() { var ua = window.navigator.userAgent; var msiePos = ua.indexOf('MSIE'); var msieVer = 0; var behaviorsAvailable = false; var iHandle = 0; if (msiePos >= 0) { msieMajorVer = parseInt(ua.charAt(msiePos + 5)); msieMinorVer = parseInt(ua.charAt(msiePos + 7)); if (msieMajorVer >= 5) { if (((msieMajorVer == 5) && (msieMinorVer >= 5)) || (msieMajorVer > 5)) { behaviorsAvailable = true; } } } return behaviorsAvailable; }
使用上面的函數(shù),你可以在運(yùn)行時(shí)確定是否能夠使用WebService 行為來(lái)調(diào)用Web 服務(wù)并使用IE的DHTML功能來(lái)顯示結(jié)果或者是把這個(gè)表單發(fā)送給服務(wù)器讓服務(wù)器來(lái)完成必要的操作,然后再次生成一個(gè)完整的頁(yè)面。使用CSS語(yǔ)法來(lái)為一個(gè)元素添加WebService行為不會(huì)影響不支持特定CSS屬性的瀏覽器。
微軟提供了一個(gè)很好的參考,程序員可以用它更好的熟悉從客戶(hù)端訪(fǎng)問(wèn)Web 服務(wù)。開(kāi)發(fā)者還可以在微軟的站點(diǎn)上找到必要的HTML 組件(*.htc)文件。
有了客戶(hù)端工具包中的WebService行為,開(kāi)發(fā)者們可以為Web 消費(fèi)者創(chuàng)建更豐富更具交互性的頁(yè)面,它們與使用大型主機(jī)提供的Web 服務(wù)或者基于表單窗口的應(yīng)用程序的企業(yè)用戶(hù)的功能是一樣的。這將幫助消除冗余的代碼并能通過(guò)為服務(wù)提供的特定功能提高響應(yīng)時(shí)間來(lái)增強(qiáng)用戶(hù)體驗(yàn)的快感。
參考文檔:這里是有關(guān)XML的具體解釋。這里是部分例子。
出處:藍(lán)色理想
責(zé)任編輯:紅色黑客
◎進(jìn)入論壇網(wǎng)頁(yè)制作、網(wǎng)站綜合版塊參加討論
|