大家经常看到这样的一个网页,用Firefox浏览器打开的时候,网页的HTML代码中是这样的:
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="FF">
用Google Chrome浏览器打开的时候,会变成
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="Chrome">
如果,你使用IE浏览器或者IE内核的浏览器,class则变更:class="IE"。
判断浏览器类型,可以通过服务器端程序做判断,也可以通过客户端脚本做判断。
下面服务器端的判断方法是:
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="<%= this.BrowserClass %>">
- <head runat="server">
- public string BrowserClass
- {
- get
- {
- return GetBrowser(HttpContext.Current.Request.Browser);
- }
- }
- /// <summary>
- /// 获得浏览器类型字符
- /// </summary>
- private string GetBrowser(HttpBrowserCapabilities browser)
- {
- if (browser == null)
- {
- return "IE";
- }
- if (browser.Browser.IndexOf("Firefox", StringComparison.CurrentCultureIgnoreCase) != -1)
- {
- return "FF";
- }
- else if (browser.Browser.IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)
- {
- return "SF";
- }
- else if (browser.Browser.IndexOf("Opera", StringComparison.CurrentCultureIgnoreCase) != -1)
- {
- return "OE";
- }
- else if (browser.Browser.IndexOf("Chrome", StringComparison.CurrentCultureIgnoreCase) != -1)
- {
- return "Chrome";
- }
- else
- {
- return "IE";
- }
- }
下面是客户端判断浏览器类型:
- <script type="text/javascript">
- function myBrowser() {
- var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
- var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
- var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
- var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
- var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") < 1; //判断是否Safari浏览器
- var isChrome = userAgent.indexOf("Chrome") > -1; //判断是否Chrome浏览器
- if (isIE) {
- var IE5 = IE55 = IE6 = IE7 = IE8 = false;
- var reIE = new RegExp("MSIE (//d+//.//d+);");
- reIE.test(userAgent);
- var fIEVersion = parseFloat(RegExp["$1"]);
- IE55 = fIEVersion == 5.5;
- IE6 = fIEVersion == 6.0;
- IE7 = fIEVersion == 7.0;
- IE8 = fIEVersion == 8.0;
- if (IE55) { return "IE55"; }
- if (IE6) { return "IE6"; }
- if (IE7) { return "IE7"; }
- if (IE8) { return "IE8"; }
- }
- if (isFF) { return "FF"; }
- if (isOpera) { return "Opera"; }
- if (isSafari) { return "Safari"; }
- if (isChrome) { return "Chrome"; }
- }
- </script>