html5shiv主要解决IE6-8 无法识别HTML5的新标签,父节点不能包裹子元素,以及应用CSS样式

html5shive
html5shiv主要IE6-8解决:
1,HTML5提出的新的元素不被IE6-8识别。
2,这些新元素不能作为父节点包裹子元素,
3,并且不能应用CSS样式。让CSS 样式应用在未知元素上只需执行 document.createElement(elementName) 即可实现。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML5shiv,用来处理H5中的新元素不被IE6-IE8识别</title>
    <script src="js/domready.js"></script><!--这个必须引入,在搜狗输入法输入domready-->
    <style>
        #ul{
            font-size: 40px;
            color: #f00;
        }
    </style>
    <script>/*只要使用该段代码即可解决以上问题*/
        /*该函数只在该作用域内执行,不污染window环境*/
        (function(){
            //IE鲜为人知的条件编译,只有IE会执行其他浏览器不会执行。
            // IE浏览器/*@cc_on!@*/ 会读取到条件编译语句中的 ! 号,!!0=false。
            // 其他浏览器只能读取到 !0=true
            if(!
                /*@cc_on!@*/
            0) return;
    
            //使用split(",")把该字符串使用逗号分隔成一个数组。
            var e="abbr,article,aside,audio,canvase,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>
</head>
<body>
    <article id="ul">
        You are my sunshine!
    </article>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/Knowledge-is-infinite/p/10808118.html