HTML5页面在IE浏览器中兼容处理js代码

时间:2019-08-21 热度:°C 作者:liusir

可以直接复制下面的代码进行js文件的创建,也可以下载我们准备好的文件,直接进行js文件的调用!


html5.rar
下载:HTML5.rar (2.02 KB)


/*! HTML5 Shiv pre3.5 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
  Uncompressed source: https://github.com/aFarkas/html5shiv  */
(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) {
            l.shivMethods || 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 b[a] = 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)
    }

    function p(a) {
        var b, c = a.getElementsByTagName("*"),
            d = c.length,
            e = RegExp("^(?:" + i().join("|") + ")$", "i"),
            f = [];
        while (d--) b = c[d], e.test(b.nodeName) && f.push(b.applyElement(q(b)));
        return f
    }

    function q(a) {
        var b, c = a.attributes,
            d = c.length,
            e = a.ownerDocument.createElement(n + ":" + a.nodeName);
        while (d--) b = c[d], b.specified && e.setAttribute(b.nodeName, b.nodeValue);
        return e.style.cssText = a.style.cssText, e
    }

    function r(a) {
        var b, c = a.split("{"),
            d = c.length,
            e = RegExp("(^|[\\s,>+~])(" + i().join("|") + ")(?=[[\\s,>+~#.:]|$)", "gi"),
            f = "$1" + n + "\\:$2";
        while (d--) b = c[d] = c[d].split("}"), b[b.length - 1] = b[b.length - 1].replace(e, f), c[d] = b.join("}");
        return c.join("{")
    }

    function s(a) {
        var b = a.length;
        while (b--) a[b].removeNode()
    }

    function t(a) {
        var b, c, d = a.namespaces,
            e = a.parentWindow;
        return !o || a.printShived ? a : (typeof d[n] == "undefined" && d.add(n), e.attachEvent("onbeforeprint", function () {
            var d, e, f, g = a.styleSheets,
                i = [],
                j = g.length,
                k = Array(j);
            while (j--) k[j] = g[j];
            while (f = k.pop())
                if (!f.disabled && m.test(f.media)) {
                    for (d = f.imports, j = 0, e = d.length; j < e; j++) k.push(d[j]);
                    try {
                        i.push(f.cssText)
                    } catch (l) {}
                }
            i = r(i.reverse().join("")), c = p(a), b = h(a, i)
        }), e.attachEvent("onafterprint", function () {
            s(c), b.removeNode(!0)
        }), a.printShived = !0, a)
    }
    var c = a.html5 || {},
        d = /^<|^(?:button|form|map|select|textarea|object|iframe)$/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);
    var m = /^$|\b(?:all|print)\b/,
        n = "html5shiv",
        o = !g && function () {
            var c = b.documentElement;
            return typeof b.namespaces != "undefined" && typeof b.parentWindow != "undefined" && typeof c.applyElement != "undefined" && typeof c.removeNode != "undefined" && typeof a.attachEvent != "undefined"
        }();
    l.type += " print", l.shivPrint = t, t(b)
})(this, document)
 

如若转载,请注明出处:《HTML5页面在IE浏览器中兼容处理js代码》
永久地址: