반응형
브라우저 탐지
IE와 FF 브라우저를 다른 브라우저와 분리해야 합니다.
사이비 코드입니다.
If (CurrentBrowser == IE(6+) or FF(2+) )
{
...
}
else
{
...
}
인에protected void Page_Load()
이벤트 (그렇게 생각)
if ((Request.Browser.Type == "IE") || (Request.Browser.Type == "FF"))
{
WebMsgBox.Show("1111");
}
효과 없음 :-/ IE 및 FF 유형은 무엇입니까?
if (Request.Browser.Type.Contains("Firefox")) // replace with your check
{
...
}
else if (Request.Browser.Type.ToUpper().Contains("IE")) // replace with your check
{
if (Request.Browser.MajorVersion < 7)
{
DoSomething();
}
...
}
else { }
사용 중인 브라우저에 대한 정보를 요청할 수 있는 방법이 있습니다. 이 방법을 사용하여 if 문을 수행할 수 있습니다.
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";
아래 코드를 사용해 보십시오.
HttpRequest req = System.Web.HttpContext.Current.Request
string browserName = req.Browser.Browser;
private void BindDataBInfo()
{
System.Web.HttpBrowserCapabilities browser = Request.Browser;
Literal1.Text = "<table border=\"1\" cellspacing=\"3\" cellpadding=\"2\">";
foreach (string key in browser.Capabilities.Keys)
{
Literal1.Text += "<tr><td>" + key + "</td><td>" + browser[key] + "</tr>";
}
Literal1.Text += "</table>";
browser = null;
}
저는 JS로 브라우저별 해킹을 수동으로 하는 것은 권고하지 않을 것입니다.프로토타입 또는 jquery와 같은 자바스크립트 라이브러리를 사용하면 모든 특정 문제를 투명하게 처리할 수 있습니다.
필요한 경우 이 립을 사용하여 브라우저 유형을 결정할 수 있습니다.
프로토타입 라이브러리에서 브라우저 및 버전도 볼 수 있습니까?
브라우저 호환을 위해 이 코드를 사용할 수 있습니다.이 메서드는 브라우저 이름과 버전을 반환합니다.
private string GetBrowserNameWithVersion
{
var userAgent = Request.UserAgent;
var browserWithVersion = "";
if (userAgent.IndexOf("Edge") > -1)
{
//Edge
browserWithVersion = "Edge Browser Version : " + userAgent.Split(new string[] { "Edge/" }, StringSplitOptions.None)[1].Split('.')[0];
}
else if (userAgent.IndexOf("Chrome") > -1)
{
//Chrome
browserWithVersion = "Chrome Browser Version : " + userAgent.Split(new string[] { "Chrome/" }, StringSplitOptions.None)[1].Split('.')[0];
}
else if (userAgent.IndexOf("Safari") > -1)
{
//Safari
browserWithVersion = "Safari Browser Version : " + userAgent.Split(new string[] { "Safari/" }, StringSplitOptions.None)[1].Split('.')[0];
}
else if (userAgent.IndexOf("Firefox") > -1)
{
//Firefox
browserWithVersion = "Firefox Browser Version : " + userAgent.Split(new string[] { "Firefox/" }, StringSplitOptions.None)[1].Split('.')[0];
}
else if (userAgent.IndexOf("rv") > -1)
{
//IE11
browserWithVersion = "Internet Explorer Browser Version : " + userAgent.Split(new string[] { "rv:" }, StringSplitOptions.None)[1].Split('.')[0];
}
else if (userAgent.IndexOf("MSIE") > -1)
{
//IE6-10
browserWithVersion = "Internet Explorer Browser Version : " + userAgent.Split(new string[] { "MSIE" }, StringSplitOptions.None)[1].Split('.')[0];
}
else if (userAgent.IndexOf("Other") > -1)
{
//Other
browserWithVersion = "Other Browser Version : " + userAgent.Split(new string[] { "Other" }, StringSplitOptions.None)[1].Split('.')[0];
}
return browserWithVersion;
}
나는 같은 것에 대한 해결책을 찾았습니다.
public static string GetBrowserDetails()
{
string BrowserDetails = HttpContext.Current.Request.Browser.Browser + " - " + HttpContext.Current.Request.Browser.Version + "; Operating System : " + HttpContext.Current.Request.Browser.Platform;
return BrowserDetails;
}
OUTPUT :
Chrome - 88.0; Operating System : WinNT
로부터 사용.
Request.Browser
이 링크가 도움이 될 것입니다.
ASP를 사용하여 브라우저를 탐지합니다.NET 및 C#
언급URL : https://stackoverflow.com/questions/2221722/browser-detection
반응형
'programing' 카테고리의 다른 글
루트 권한 없이 ansible을 통해 MariaDB를 설치하고 구성할 수 있습니까? (0) | 2023.09.09 |
---|---|
Android Studio SDK 위치 (0) | 2023.09.09 |
Maria DB HTML 유사 구문: <#iffo> barMaria DB HTML 유사 구문: <#iffo> bar (0) | 2023.09.09 |
Git SSH 오류: "호스트에 연결: 잘못된 파일 번호" (0) | 2023.09.09 |
Regex / Powershell을 사용하여 파일 이름 변경 (0) | 2023.09.09 |