根据客户端浏览器,加载不同的CSS文件

来源:互联网 发布:古力娜扎最新照片 知乎 编辑:程序博客网 时间:2024/05/14 11:00

大家经常看到这样的一个网页,用Firefox浏览器打开的时候,网页的HTML代码中是这样的:

[html] view plaincopy
  1. <!DOCTYPE html>  
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="FF">  

用Google Chrome浏览器打开的时候,会变成

[html] view plaincopy
  1. <!DOCTYPE html>  
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="Chrome">  

如果,你使用IE浏览器或者IE内核的浏览器,class则变更:class="IE"。


判断浏览器类型,可以通过服务器端程序做判断,也可以通过客户端脚本做判断。


下面服务器端的判断方法是:

[html] view plaincopy
  1. <!DOCTYPE html>  
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="<%= this.BrowserClass %>">  
  3. <head runat="server">  

[csharp] view plaincopy
  1. public string BrowserClass  
  2. {  
  3.     get  
  4.     {  
  5.         return GetBrowser(HttpContext.Current.Request.Browser);  
  6.     }  
  7. }  

[csharp] view plaincopy
  1. /// <summary>  
  2. /// 获得浏览器类型字符  
  3. /// </summary>  
  4. private string GetBrowser(HttpBrowserCapabilities browser)  
  5. {  
  6.     if (browser == null)  
  7.     {  
  8.         return "IE";  
  9.     }  
  10.     if (browser.Browser.IndexOf("Firefox", StringComparison.CurrentCultureIgnoreCase) != -1)  
  11.     {  
  12.         return "FF";  
  13.     }  
  14.     else if (browser.Browser.IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)  
  15.     {  
  16.         return "SF";  
  17.     }  
  18.     else if (browser.Browser.IndexOf("Opera", StringComparison.CurrentCultureIgnoreCase) != -1)  
  19.     {  
  20.         return "OE";  
  21.     }  
  22.     else if (browser.Browser.IndexOf("Chrome", StringComparison.CurrentCultureIgnoreCase) != -1)  
  23.     {  
  24.         return "Chrome";  
  25.     }  
  26.     else  
  27.     {  
  28.         return "IE";  
  29.     }  
  30. }  


下面是客户端判断浏览器类型:

[javascript] view plaincopy
  1. <script type="text/javascript">  
  2.     function myBrowser() {  
  3.         var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串    
  4.         var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器    
  5.         var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器    
  6.         var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器    
  7.         var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") < 1; //判断是否Safari浏览器    
  8.         var isChrome = userAgent.indexOf("Chrome") > -1; //判断是否Chrome浏览器    
  9.         if (isIE) {  
  10.             var IE5 = IE55 = IE6 = IE7 = IE8 = false;  
  11.             var reIE = new RegExp("MSIE (//d+//.//d+);");  
  12.             reIE.test(userAgent);  
  13.             var fIEVersion = parseFloat(RegExp["$1"]);  
  14.             IE55 = fIEVersion == 5.5;  
  15.             IE6 = fIEVersion == 6.0;  
  16.             IE7 = fIEVersion == 7.0;  
  17.             IE8 = fIEVersion == 8.0;  
  18.             if (IE55) { return "IE55"; }  
  19.             if (IE6) { return "IE6"; }  
  20.             if (IE7) { return "IE7"; }  
  21.             if (IE8) { return "IE8"; }  
  22.         }  
  23.         if (isFF) { return "FF"; }  
  24.         if (isOpera) { return "Opera"; }  
  25.         if (isSafari) { return "Safari"; }  
  26.         if (isChrome) { return "Chrome"; }  
  27.     }    
  28. </script>  
原创粉丝点击