IE9以下浏览器处理方案
(来源1:blog.csdn.net/h330531987/… )
(来源2:blog.csdn.net/weixin_3090… )
由于IE6/IE7/IE8还有很大一部分用户,为了让网站浏览者都能正常的访问HTML5网站
html5shiv
解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题
Html5shiv,指的是Html5标签结构。
有下面两个:
- 为网站创建多套模板,通过程序对User-Agent的判断给不同的浏览器用户显示不同的页面,比如优酷网就是采用的这种模式。
- 使用Javascript来使不支持HTML5的浏览器支持HTML标签。很多网站采用的这种方式。
针对IE浏览器比较好的解决方案是html5shiv。html5shiv主要解决HTML5提出的新的元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。让CSS 样式应用在未知元素上只需执行 document.createElement(elementName) 即可实现。html5shiv就是根据这个原理创建的。
respond.min
让不支持css3 Media Query的浏览器包括IE6-IE8等其他浏览器支持查询。
解决方案(cdn写法)
方案1:
<!--[if lt IE 9]>
<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.js"></script>
<script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<![endif]—>
方案2:
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->