前端遇见问题总结

  1. 一、ie 强制最新版本渲染(兼容性视图 )

一、ie 强制最新版本渲染(兼容性视图 )

强制使用ie最新版本渲染可分为两种方式

  • 1). 前端
<!--  前端方式 大多数人比较了解   -->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
</head>
  • 2). 服务端
/***
* 服务端可以想响应头中添加 X-UA-Compatible 属性
* 本次问题解决方式是向所以的响应中添加该属性 使ie使用最高版本渲染 禁止使用兼容模式 
* 解决方案 添加filter 拦截 对所有响应中添加
*/
public class RespFilter implements Filter{
@Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain)
            throws IOException, ServletException {
        // TODO Auto-generated method stub
        HttpServletRequest req=(HttpServletRequest)arg0;
        HttpServletResponse resp=(HttpServletResponse)arg0;
        resp.setHeader("X-UA-Compatible","IE=edge,chrome=1");
        chain.doFilter(req,resp);
    }
}

@Configuration
public class MyConfiguration {

    @Bean
    public FilterRegistrationBean<RespFilter> respFilterRegistrationBean(){
        //通过FilterRegistrationBean实例设置优先级可以生效
        //通过@WebFilter无效
        FilterRegistrationBean<RespFilter> bean = new FilterRegistrationBean<RespFilter>();
        bean.setFilter(new RespFilter());//注册自定义过滤器
        bean.setName("respflilter");//过滤器名称
        bean.addUrlPatterns("/*");//过滤所有路径
        bean.setOrder(1);//优先级,最顶级
        return bean;
    }
}