轻松解决旧版IE(6-8)兼容HTML5标签的实战攻略

解决旧版IE(如IE6、IE7、IE8)不兼容HTML5标签的问题,可以采用以下几种方法:
1. "使用条件注释": 条件注释是IE特有的语法,可以针对不同版本的IE加载不同的样式表或脚本。例如: ```html ``` 在这里,`ie8.css` 是针对IE8及以下版本的样式表,`html5shiv.js` 是用于让IE6和IE9及以下版本支持HTML5标签的JavaScript库,`respond.min.js` 是用于让IE6-9支持媒体查询的JavaScript库。
2. "使用HTML5 Shiv": HTML5 Shiv是一个JavaScript库,可以欺骗IE6-8识别HTML5元素。你可以在页面中引入HTML5 Shiv: ```html ``` 这样,即使IE6-8不认识HTML5元素,也会通过Shiv库将其视为有效的HTML标签。
3. "使用Respond.js": Respond.js是一个JavaScript库,用于让IE6-9支持

相关内容:

使用语义化代码更直观,而且更方便SEO优化。但是此HTML5新标签在IE6/IE7/IE8上并不能识别,需要进行JavaScript处理。以下就介绍几种方式。

方式一:Coding JavaScript

<!-->
<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)
     } 
  })() 
</script>
<!-->

如果是IE9以下的IE浏览器将创建HTML5标签, 这样非IE浏览器就会忽视这段代码,也就不会有无谓的http请求了。

方法二:使用Google的html5shiv包(推荐)

<!-->
  <script type="text/javascript" src="http://cdn.bootcss.com/html5shiv/r29/html5.min.js"></script>
<!-->

上面这段代码仅会在IE浏览器下运行,还有一点需要注意,在页面中调用html5.js文件必须添加在页面的head元素内,因为IE浏览器必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用。

不管使用以上哪种方法,都要初始化新标签的CSS。因为HTML5在默认情况下表现为内联元素,对这些元素进行布局我们需要利用CSS手工把它们转为块状元素方便布局

/*html5*/
article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}

如果IE6/7/8 禁用脚本的用户,那么就变成了无样式的"白板"网页,我们该怎么解决呢?

我们可以参照facebook的做法,即引导用户进入带有noscript标识的 “/?_fb_noscript=1”页面,用 html4 标签替换 html5 标签,这要比为了保持兼容性而写大量 hack 的做法更轻便一些。

<!-->
<noscript>
  <style>
    .html5-wrappers{display:none!important;}
  </style>
  <p class="ie-noscript-warning">您的浏览器禁用了脚本,请<a href="#">查看这里</a>来启用脚本!或者<a href="/?noscript=1">继续访问</a>.
  </p>
</noscript>
<!-->

这样可以引导用户开启脚本,或者直接跳转到HTML4标签设计的界面。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章