让ie支持html5标签

来源:互联网 发布:网络歌曲2015伤感情歌 编辑:程序博客网 时间:2024/05/18 03:13

主要是通过调用 html5.js 可以使 ie6,7,8 支持 html5 标签。 js 引用方式:

<!--[if lt IE 9]>
  <script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> 

html5.js代码如下:

(function(a, b) {


      
    function h(a, b) {


            
        var c = a.createElement("p"),
        d = a.getElementsByTagName("head")[0] || a.documentElement;


            
        return c.innerHTML = "x<style>" + b + "</style>",
        d.insertBefore(c.lastChild, d.firstChild)
    }
    function i() {


              
        var a = l.elements;
        return typeof a == "string" ? a.split(" ") : a
    }
    function j(a) {


              
        var b = {},
        c = a.createElement,
        f = a.createDocumentFragment,
        g = f();


              a.createElement = function(a) {
            if (!l.shivMethods) return c(a);
            var f;
            return b[a] ? f = b[a].cloneNode() : e.test(a) ? f = (b[a] = c(a)).cloneNode() : f = c(a),
            f.canHaveChildren && !d.test(a) ? g.appendChild(f) : f
        },
        a.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + i().join().replace(/\w+/g, 
        function(a) {
            return c(a),
            g.createElement(a),
            'c("' + a + '")'
        }) + ");return n}")(l, g)
    }
    function k(a) {
        var b;
        return a.documentShived ? a: (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}")), g || (b = !j(a)), b && (a.documentShived = b), a)
    }
    var c = a.html5 || {},
    d = /^<|^(?:button|form|map|select|textarea|object|iframe|option|optgroup)$/i,
    e = /^<|^(?: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,
    f,
    g; (function() {
        var c = b.createElement("a");
        c.innerHTML = "<xyz></xyz>",
        f = "hidden" in c,
        f && typeof injectElementWithStyles == "function" && injectElementWithStyles("#modernizr{}", 
        function(b) {
            b.hidden = !0,
            f = (a.getComputedStyle ? getComputedStyle(b, null) : b.currentStyle).display == "none"
        }),
        g = c.childNodes.length == 1 || 
        function() {
            try {
                b.createElement("a")
            } catch(a) {
                return ! 0
            }
            var c = b.createDocumentFragment();
            return typeof c.cloneNode == "undefined" || typeof c.createDocumentFragment == "undefined" || typeof c.createElement == "undefined"
        } ()
    })();
    var l = {
        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",
        shivCSS: c.shivCSS !== !1,
        shivMethods: c.shivMethods !== !1,
        type: "default",
        shivDocument: k
    };
    a.html5 = l,
    k(b)




})


(this, document)