Я хочу определить тип браузера в файле с кодом, используя С# на странице ASP.NET.
Если это IE 6.0
, я должен выполнить определенные строки кода.
Как определить тип браузера?
Я хочу определить тип браузера в файле с кодом, используя С# на странице ASP.NET.
Если это IE 6.0
, я должен выполнить определенные строки кода.
Как определить тип браузера?
Вы можете использовать Request.Browser для идентификации информации обозревателя. Эти MSDN 1 и 2 статья дает больше информации об этом.
System.Web.HttpBrowserCapabilities browser = Request.Browser;
string s = "Browser Capabilities\n"
+ "Type = " + browser.Type + "\n"
+ "Name = " + browser.Browser + "\n"
+ "Version = " + browser.Version + "\n"
+ "Major Version = " + browser.MajorVersion + "\n"
+ "Minor Version = " + browser.MinorVersion + "\n"
+ "Platform = " + browser.Platform + "\n"
+ "Is Beta = " + browser.Beta + "\n"
+ "Is Crawler = " + browser.Crawler + "\n"
+ "Is AOL = " + browser.AOL + "\n"
+ "Is Win16 = " + browser.Win16 + "\n"
+ "Is Win32 = " + browser.Win32 + "\n"
+ "Supports Frames = " + browser.Frames + "\n"
+ "Supports Tables = " + browser.Tables + "\n"
+ "Supports Cookies = " + browser.Cookies + "\n"
+ "Supports VBScript = " + browser.VBScript + "\n"
+ "Supports JavaScript = " +
browser.EcmaScriptVersion.ToString() + "\n"
+ "Supports Java Applets = " + browser.JavaApplets + "\n"
+ "Supports ActiveX Controls = " + browser.ActiveXControls
+ "\n";
Вы также можете посмотреть: Request.ServerVariables.
Я использовал:
string UserAgent = Request.ServerVariables["HTTP_USER_AGENT"];
Response.Write("User: " + UserAgent);
if(UserAgent.Contains("MSIE")) {
//do something
}
чтобы показать мне, какой браузер используется. Это может дать вам ответ на IE, похожий на:
User: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.1.4322)
В зависимости от вашей версии IE или другого браузера. Firefox дает мне:
User: Mozilla/5.0 (Windows NT 6.0; rv:11.0) Gecko/20100101 Firefox/11.0
Важно отметить: Я бы использовал ServerVariables над возможностями браузера, потому что в настоящее время BrowserCapabilities в Chrome вернет "Рабочий стол", который, похоже, будет таким же для Safari, когда я проверю его на Mac.
В этом списке должны быть перечислены все возможности браузера...
System.Web.HttpBrowserCapabilities browser = Request.Browser;
IDictionaryEnumerator enumerator = browser.Capabilities.GetEnumerator();
while (enumerator.MoveNext())
{
string key = (string)enumerator.Key.ToString();
object value = enumerator.Value;
Response.Write(String.Format("Key = {0}, Value = {1}", key, value));
}