解决IE(IE6/IE7/IE8)不兼容HTML5标签的方案
来源:互联网 发布:vscode c语言 编辑:程序博客网 时间:2024/05/07 03:18
方式一:
<!--[if lt IE9]>
<script>
(function() {
if (!
/*@cc_on!@*/
0) return;
var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
var i= e.length;
while (i--){
document.createElement(e[i])
}
})()
</script>
<![endif]-->
评价:如果是IE9以下的IE浏览器将创建HTML5标签, 但是非IE浏览器就会忽视这段代码,也就不会有无谓的http请求了。
方式二:使用Google的html5shiv包(推荐)
html5shiv主要解决HTML5提出的新的元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。让CSS 样式应用在未知元素上只需执行 document.createElement(elementName) 即可实现。html5shiv就是根据这个原理创建的。
<!--[if lt IE9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
以上两种方法,都要初始化新标签的CSS.因为HTML5在默认情况下表现为内联元素,对这些元素进行布局我们需要利用CSS手工把它们转为块状元素方便布局方式三:如果ie6/7/8 禁用脚本的用户,那么就变成了无样式的"白板"网页,我们该怎么解决呢?
我们可以参照facebook的做法,即引导用户进入带有noscript标识的 “/?_fb_noscript=1”页面,用 html4 标签替换 html5 标签,这要比为了保持兼容性而写大量 hack 的做法更轻便一些。
<!--[if lte IE 8]> <noscript> <style>.html5-wrappers{display:none!important;}</style> <div class="ie-noscript-warning">您的浏览器禁用了脚本,请<a href="">查看这里</a>来启用脚本!或者<a href="/?noscript=1">继续访问</a>. </div></noscript><![endif]-->这样可以引导用户开启脚本,或者直接跳转到HTML4标签设计的界面。
0 0
- 解决IE(IE6/IE7/IE8)不兼容HTML5标签的方案
- IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- HTML5 Shiv--解决IE(IE6-IE7-IE8)不兼容HTML5标签的方法
- 解决IE(IE6/IE7/IE8)不兼容HTML5标签的问题[转自大神]
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- jquery学习(六)ajax
- 九度OJ-1207:质因数的个数
- 使用ssh正向连接、反向连接、做socks代理的方法
- 博客测试
- 64位ARMv8的芯片-reserved memory-mmu
- 解决IE(IE6/IE7/IE8)不兼容HTML5标签的方案
- 判断是否是手机端并跳转
- javax.servlet.ServletException: Could not resolve view with name 'xxxxx'in servlet with name 'xxx'
- 2017年第5周(1月30日2月5日)总结
- HDU 杭电acm 2079-选课时间
- 第二章 理解面向对象
- java千万级别数据处理-千万级别FTP下载
- MTK ISP 分析
- eclipse maven install子模块报错无法找到父模块的class