首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

在應用程式中識別 UserAgent 對應的瀏覽器

     編輯:關於ASP.NET

ASP.NET 內建機制

Web 應用可用 Request.Browser 取得 HttpBrowserCapabilities,判斷瀏覽器類型、螢幕大小、JS 支援等。但內建瀏覽器定義檔較舊,行動裝置支援不足。

WinForm / 非 Web 環境解決方案

透過反射 BrowserCapabilitiesFactory,手動建立 HttpBrowserCapabilities 並注入 UserAgent 字串:

string UA = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; ...)";
BrowserCapabilitiesFactory f = new BrowserCapabilitiesFactory();
HttpBrowserCapabilities browserCaps = new HttpBrowserCapabilities();
Hashtable hashtable = new Hashtable(180, StringComparer.OrdinalIgnoreCase);
hashtable[string.Empty] = UA;
browserCaps.Capabilities = hashtable;
NameValueCollection headers = new NameValueCollection();
f.ConfigureBrowserCapabilities(headers, browserCaps);

執行後 browserCaps 即包含解析出的瀏覽器屬性。

擴充瀏覽器定義

  1. 建立網站專案,新增 App_Browsers 資料夾,放入 .browser 定義檔。
  2. 發佈網站,取得 bin\App_Browsers.dll。
  3. 執行 aspnet_regbrowsers.exe -i 產生 ASP.BrowserCapsFactory.dll。
  4. 專案參考兩個 DLL,將 Factory 類別換成 ASP.ApplicationBrowserCapabilitiesFactory。

即可在非 Web 環境使用最新瀏覽器定義識別 UserAgent。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved