让IE6简单兼容HTML5

现在越来越多的wordpress主题采用HTML5+CSS3设计,已经不再支持IE6了,但是windowXP的用户在国内依然很多,因为XP默认就是安装IE6,这是令人头疼的问题。

如何让你的站点简单的支持IE6呢?其实也很简单,让IE(包括IE6)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document_createElement_x声明,利用条件注释针对IE来调用这个js文件。Opera,FireFox等其他非IE浏览器就会忽视这段代码,也不会存在http请求。

操作方法:复制如下代码,放在<head>和</head>标签里面。这里的代码已经包含一整套的浏览器判断了

  1. <script>  
  2.   
  3. (function (a, b)  
  4. function h(a, b)  
  5. var a.createElement_x("p"),  
  6. a.getElementsByTagName_r("head")[0] || a.documentElement;  
  7. return c.innerHTML "x<style>" "</style>",  
  8. d.insertBefore(c.lastChild, d.firstChild)  
  9.  
  10. function i()  
  11. var l.elements;  
  12. returntypeof == "string" a.split(" ")  
  13.  
  14. function j(a)  
  15. var {},  
  16. a.createElement_x,  
  17. a.createDocumentFragment,  
  18. f();  
  19. a.createElement_x function (a)  
  20. if (!l.shivMethods)  
  21. return c(a);  
  22. var f;  
  23. return b[a] b[a].cloneNode() e.test(a) (b[a] c(a)).cloneNode() c(a),  
  24. f.canHaveChildren && !d.test(a) g.a(f)  
  25. },  
  26. a.createDocumentFragment Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement_x;h.shivMethods&&(" i().join().replace(/\w+/g, function (a)  
  27. return c(a),  
  28. g.createElement_x(a),  
  29. 'c("' '")'  
  30. }) ");return n}")(l, g)  
  31.  
  32. function k(a)  
  33. var b;  
  34. return a.documentShived (l.shivCSS && !f && (b !!h(a, "article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")), || (b !j(a)), && (a.documentShived b), a)  
  35.  
  36. var a.html5 || {},  
  37. /^<|^(?:button|form|map|select|textarea|object|iframe|option|optgroup)$/i,  
  38. /^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,  
  39. f,  
  40. g;  
  41. (function ()  
  42. var b.createElement_x("a");  
  43. c.innerHTML "<xyz></xyz>",  
  44. "hidden"in c,  
  45. && typeof injectElementWithStyles == "function" && injectElementWithStyles("#modernizr{}", function (b)  
  46. b.hidden !0,  
  47. (a.getComputedStyle getComputedStyle(b, null) b.currentStyle).display == "none"  
  48. }),  
  49. c.childNodes.length == || function ()  
  50. try  
  51. b.createElement_x("a")  
  52. catch (a)  
  53. return !0  
  54.  
  55. var b.createDocumentFragment();  
  56. returntypeof c.cloneNode == "undefined" || typeof c.createDocumentFragment == "undefined" || typeof c.createElement_x == "undefined"  
  57.  
  58. ()  
  59. })();  
  60. var  
  61. elements c.elements || "abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",  
  62. shivCSS c.shivCSS !== !1,  
  63. shivMethods c.shivMethods !== !1,  
  64. type "default",  
  65. shivDocument  
  66. };  
  67. a.html5 l,  
  68. k(b)  
  69. })(this, document)  
  70. </script>   

 

当然,这里你也可以选择使用在google托管的JS代码,达到的效果和上面的代码一样的,代码如下:

  1. <script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script>   

如果觉得这样会影响你的网页打开速度,你可以把html5的js文件直接下载下来让后上传到自己的服务器单独调用。

http://blog.sina.com.cn/s/blog_48dc08c90101e8ka.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值