對于ASP的擴展組件,有些大家已耳熟能詳,有些則還陌生的很,寫這篇文章的的意圖無非想拋磚引玉,在各位對ASP幾大對象已爛熟于心時,不妨玩玩一些不常用的可擴展組件,相信會對各位的ASP編程有很大的啟發。(這篇文章的內容來自MSDN,對其了若指掌的朋友自不必看。還有,小妹的耐 心不好,如果寫完了這篇沒有長性就此罷筆,望各位在大罵的時候留點口德,多謝多謝。):b 瀏覽器性能組件創建一個瀏覽器類型(BrowserType)對象用以向你的腳本描述客戶端瀏覽器能力。 一旦一個瀏覽器連接到Web服務器,瀏覽器會自動將一串用戶代理HTTP報頭(User Agent HTTP Header)傳送到服務器。該報頭為一ASCII字符串用以識別該瀏覽器及其版本號。瀏覽器類型(BrowserType)對象將該報頭與Browsercap.ini文件中的條目進行比較。 如果找到匹配的條目,瀏覽器類型(BrowserType)對象假設該瀏覽器具備Browsercap.ini文件中所描述的屬性。 如果對象沒有在Browsercap.ini文件中找到與報頭匹配的條目,瀏覽器類型(BrowserType)對象假設該瀏覽器具備默認瀏覽器的屬性。如果沒有匹配條目并且Browsercap.ini文件沒有定義默認瀏覽器的各項設置,則瀏覽器類型(BrowserType)對象將該瀏覽器的各項屬性值賦為“Unkown”。 通過升級Browsercap.ini文件,你可以方便的把瀏覽器屬性或者對新瀏覽器的描述加入到這個組件(稍候介紹如何升級Browsercap.ini文件)。 文件名 Browsercap.dll 瀏覽器性能組件 Browsercap.ini 一個用以描述瀏覽器屬性的文本文件,該文件必須和Brwosercap.dll文件處于同一目錄下 語法 Set BrowserType = Server.CreateObject("MSWC.BrowserType") 參數 BrowserType——用Server.CreateObject語句創建的瀏覽器類型(BrowserType)對象的名字 注冊條目 無需注冊 例子 以下例子給出如何用瀏覽器性能組件取得當前瀏覽器一些屬性。 <% Set bc = Server.CreateObject("MSWC.BrowserType") %> <table border=1> <tr><td>Browser</td><td> <%= bc.browser %> </td></TR> <tr><td>Version</td><td> <%= bc.version %> </td></TR> <tr><td>Frames</td><td> <% if (bc.frames = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>Tables</td><td> <% if (bc.tables = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>BackgroundSounds</td><td> <% if (bc.BackgroundSounds = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>VBScript</td><td> <% if (bc.vbscript = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>JScript</td><td> <% if (bc.javascript = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> </table> Browscap.ini文件 你可以在Browscap.ini文件中描述任意多個瀏覽器的屬性。你也可以設置一套默認屬性,當瀏覽器發送的報頭無法和Browscap.ini中的任何條目匹配時,瀏覽器類型(BrowerType)對象會假設該瀏覽器具備默認的屬性。 每個瀏覽器定義由一個HTTP報頭、一些屬性名以及相關屬性值構成。關于各種瀏覽器的HTTP報頭的定義可參考[link]http://www.w3.org/[/link]網站中的內容。 語法 [; comments] [HTTPUserAgentHeader] [parent = browserDefinition] [property1 = value1] ... [propertyN = valueN] [Default Browser Capability Settings] [defaultProperty1 = defaultValue1] ... [defaultPropertyN = defaultValueN] 參數 comments 注釋,以;開頭的任意多行 HTTPUserAgentHeader HTTP用戶代理報頭,類似于以下格式[Mozilla/2.0 (compatible; MSIE 3.0;* Windows 95)],其中可以使用通配符*。 browserDefinition 用以定義父類的HTTP報頭 propertyN 瀏覽器的屬性名,可從屬性列表中選取所需的屬性(詳細列表見附錄) valueN 瀏覽器的屬性值 defaultPropertyN 默認瀏覽器的屬性名,可選屬性同propertyN defaultValueN 默認瀏覽器的屬性值 例子 ;;ie 4.0 [IE 4.0] browser=IE Version=4.0 frames=TRUE tables=TRUE cookies=TRUE backgroundsounds=TRUE vbscript=TRUE javascript=TRUE javaapplets=True ActiveXControls=TRUE beta=False ;;ie 4.01 [Mozilla/2.0 (compatible; MSIE 4.01*; Windows 95)] parent=IE 4.0 version=4.01 minorver=01 platform=Win95 ; Default Browser [Default Browser Capability Settings] browser=Default frames=FALSE tables=TRUE cookies=FALSE backgroundsounds=FALSE vbscript=FALSE javascript=FALSE 附錄——瀏覽器屬性列表 屬性名 描述 ActiveXControls 指定瀏覽器是否支持ActiveX控件 backgroundsounds 指定瀏覽器是否支持背景音樂 beta指定瀏覽器是否是測試版 browser指定瀏覽器的名字 cdf 指定瀏覽器是否支持Web發布的頻道解釋定義(Channel Definition Format) cookies 指定瀏覽器是否支持cookies frames 指定瀏覽器是否支持幀顯示 Javaapplets 指定瀏覽器是否支持Java applets javascript 指定瀏覽器是否支持Javascript platform 指定瀏覽器運行所需的操作系統 tables 指定瀏覽器是否支持表格 vbscript 指定瀏覽器是否支持vbscript version 指定瀏覽器的版本 注:以上解釋內容為“指定瀏覽器是否支持”開頭的屬性,其屬性值應為True/False,其余為字符串 |
溫馨提示:喜歡本站的話,請收藏一下本站!