客户端浏览器和服务器进行交互时,其版本信息其实已经在http-header里了,提取出其中的user-agent字段,返回不同的CSS文件,问题解决。
下面附上java的代码,其它语言与之类似
Rails request.env["HTTP_USER_AGENT"]
PHP $_SERVER["HTTP_USER_AGENT"];
ASP Request.ServerVariables("http_user_agent");
package com.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
/**
* 提取客户端浏览器的UserAgent
* @author Snow
* */
public class UserAgentAnalyzer {
/**
* 返回客户端浏览器的IE版本,
* 火狐及其它浏览器返回 -1
* */
public static int getUserAgent(HttpServletRequest request)
{
String userAgent = request.getHeader("user-agent");
String regExp = ".*MSIE (\\d).*";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(userAgent);
String field = "";
boolean b = m.matches();//用正则匹配IE浏览器版本号
if(b)
{
int version = -1;
try
{
field = m.group(1);
version = Integer.parseInt(field);
return version;
}
catch(Exception e)
{
return version;
}
}
else
{
return -1;
}
}
}
JSP页面上
<%@ page import="com.util.UserAgentAnalyzer" %>
<html>
<body>
public css links<br>
<%
int version = UserAgentAnalyzer.getUserAgent(request);
switch(version)
{
case 6:
%>
ie6 css links
<%
break;
case 7:
%>
ie7 css links
<%
break;
case 8:
%>
ie8 css links
<%
break;
case -1:
%>
firefox css links
<%
break;
}
%>
<br>
<%= "Version is "+ String.valueOf(version)%>
</body>
</html>
分享到:
相关推荐
解决浏览器兼容性问题的一种主要方法是CSS Hack。CSS Hack是指针对不同浏览器编写特定的CSS代码,使同一段CSS在各个浏览器中都能得到预期的效果。例如,IE6能识别下划线 "_" 和星号 " * ",而IE7仅识别星号,Firefox...
在网页设计中,由于各个浏览器(尤其是Internet Explorer的早期版本)对CSS的实现存在差异,导致开发者需要采取一些特定的方法来解决浏览器兼容性问题。本篇文章主要探讨了针对IE6、IE7、IE8、IE9以及Firefox(FF)...
总的来说,CSS Hack是解决浏览器兼容性问题的一种手段,但应谨慎使用,因为它可能导致代码可维护性降低。更推荐的做法是遵循Web标准,使用渐进增强或优雅降级策略,并尽量依赖于专门的CSS重置库(如Normalize.css或...
总的来说,H5 CSS Hack是解决浏览器兼容性问题的重要手段,通过理解和灵活运用各种Hack方法,可以确保网页在不同浏览器上呈现出一致的视觉效果。随着浏览器对新标准支持的逐步完善,虽然CSS Hack的重要性正在减弱,...
在网页设计和开发中,CSS(层叠...总之,CSS hack是解决跨浏览器兼容性问题的一种方法,但并非长久之计。随着技术的发展,理解并熟练运用CSS标准以及合理地规划和编写代码,才是确保网页在各种浏览器上正常显示的关键。
【CSS浏览器兼容性处理】 在Web开发中,CSS(层叠样式表)是用于控制网页元素样式的关键技术...在实际开发中,可以结合使用条件注释、CSS hack或使用专门的CSS预处理器(如Sass、Less)来进一步优化和管理兼容性问题。
浏览器兼容性问题,指的是由于不同的浏览器对于相同的CSS代码解析存在差异,导致网页在不同浏览器上呈现的效果不一致的现象。这种差异可能源于浏览器内核的不同解释方式、对标准支持的不一致或是对某些CSS特性的实现...
本文将针对标题和描述中提到的常见浏览器兼容性问题及其解决方案进行详细阐述。 首先,浏览器的解析差异是导致兼容性问题的主要原因。每个浏览器都有自己的内核,如Internet Explorer的 Trident、Firefox的 Gecko、...
总结来说,解决浏览器兼容性问题需要对各种浏览器的解析规则有深入理解,通过适当的CSS技巧和Hack方法来确保在不同浏览器下的表现一致性。对于严谨的前端开发者,这不仅是提升用户体验的必要工作,也是提高代码可...
浏览器兼容性问题一直是Web开发中的一个棘手挑战,尤其是在历史版本的Internet Explorer(IE)浏览器中,这些问题尤为突出。浏览器兼容性问题主要由于浏览器引擎的bug、网页标准的更新以及不同浏览器对标准的不同...
然而,由于不同的浏览器对CSS的解析方式存在差异,导致了兼容性问题的出现,这给开发者带来了不少挑战。本文将深入探讨如何使用CSS来解决浏览器兼容问题。 首先,我们来看一个关键的CSS技巧:`!important`。`!...
本篇文章将深入探讨CSS Hack以及其在解决浏览器兼容性问题中的应用。 首先,CSS Hack的核心在于利用浏览器解析CSS规则的差异,编写特定的代码片段来针对特定浏览器进行样式调整。常见的CSS Hack方法包括属性前缀、...
了解和掌握解决这些兼容性问题的技巧,将有助于提升网站的跨浏览器兼容性。 1. **垂直居中问题**:在CSS中,实现元素的垂直居中可以通过设置`vertical-align: middle;`和`line-height`。例如,若要使一个200px高的`...
CSS的浏览器兼容性问题主要体现在滤镜、透明度、伪类支持和其他选择器的使用等方面。例如,CSS滤镜是微软的独家特性,主要在IE内核的浏览器中得到支持。而对于透明度,IE6不支持图片的半透明效果,而其他浏览器则...
### DIV+CSS解决各浏览器兼容...总结而言,解决浏览器兼容性问题需要开发者对各种浏览器的特性有深入的理解,并灵活运用各种CSS技巧和hack。通过以上方法,可以有效地确保网页在不同浏览器下展现出一致且美观的效果。
通过对上述示例的分析,我们可以清晰地看到如何利用CSS Hack来解决浏览器兼容性问题。通过精心设计这些Hack,开发者可以确保网页在不同浏览器中展现出一致的外观。然而,随着现代浏览器的发展和CSS标准的不断完善,...
CSS Hack 是一种有效的工具,可以帮助开发者解决跨浏览器兼容性问题。通过理解和掌握这些Hack技术,可以大大提高Web项目的兼容性和用户体验。当然,随着Web标准的发展和浏览器技术的进步,我们还应该关注新的解决...
本篇文章将深入探讨CSS在不同浏览器中的兼容性问题,以及如何通过技巧和策略来解决这些问题。 1. IE特有兼容性问题: - IE6、7不支持浮动元素的最小高度(min-height):可以使用`_height`或`zoom:1`配合`min-...