js动态加载JS及CSS,加载成功时回调

来源:互联网 发布:淘宝买家秀怎么发微淘 编辑:程序博客网 时间:2024/05/01 01:26

js动态加载JS及CSS加载成功回调

function styleOnload(node, callback) {            // for IE6-9 and Opera            if (node.attachEvent) {                node.attachEvent('onload', callback);                // NOTICE:                // 1. "onload" will be fired in IE6-9 when the file is 404, but in                // this situation, Opera does nothing, so fallback to timeout.                // 2. "onerror" doesn't fire in any browsers!            }            // polling for Firefox, Chrome, Safari            else {                setTimeout(function() {                    poll(node, callback);                }, 0); // for cache            }        }        function poll(node, callback) {            if (callback.isCalled) {                return;            }            var isLoaded = false;            if (/webkit/i.test(navigator.userAgent)) {//webkit                if (node['sheet']) {                    isLoaded = true;                }            }            // for Firefox            else if (node['sheet']) {                try {                    if (node['sheet'].cssRules) {                        isLoaded = true;                    }                } catch (ex) {                    // NS_ERROR_DOM_SECURITY_ERR                    if (ex.code === 1000) {                        isLoaded = true;                    }                }            }            if (isLoaded) {                // give time to render.                setTimeout(function() {                    callback();                }, 1);            }            else {                setTimeout(function() {                    poll(node, callback);                }, 1);            }        }// 我的动态创建LINK函数        function createLink(cssURL,lnkId,charset,media){            var head = document.getElementsByTagName('head')[0],                linkTag = null;            if(!cssURL){                return false;            }            linkTag = document.createElement('link');            linkTag.setAttribute('id',(lnkId || 'dynamic-style'));            linkTag.setAttribute('rel','stylesheet');            linkTag.setAttribute('charset',(charset || 'utf-8'));            linkTag.setAttribute('media',(media||'all'));            linkTag.setAttribute('type','text/css');            linkTag.href = cssURL;            head.appendChild(linkTag);            return linkTag;        }        function loadcss(){            var styleNode = createLink("https://www.xitouwang.com/static/css/login.css?v=20161018");            styleOnload(styleNode,function(){                alert("loaded");            });        }

js动态加载JS及CSS

    var dynamicLoading = {        css: function(path){            if(!path || path.length === 0){                throw new Error('argument "path" is required !');            }            var head = document.getElementsByTagName('head')[0];            var link = document.createElement('link');            link.href = path;            link.rel = 'stylesheet';            link.type = 'text/css';            head.appendChild(link);        },        js: function(path){            if(!path || path.length === 0){                throw new Error('argument "path" is required !');            }            var head = document.getElementsByTagName('head')[0];            var script = document.createElement('script');            script.src = path;            script.type = 'text/javascript';            head.appendChild(script);        }    }

转自http://www.jquerycn.cn/a_11142

1 0
原创粉丝点击