`

import.js

 
阅读更多
import.js

oop.define('wldm.core.import', {
	
	constructor: function() {},
	
	paths : {
		'app' : 'js/app',
		'wldm' : 'js/lib/wldm'
	},
	
	memo : {
		'app' : {},
		'wldm' : {}
	},
	
	'import': function(a) {
		var me = this;
		var i, memo = me.memo;
		for (i = 0, j = a.length; i < j; i++) {
			var clsName = a[i];
			var modName = clsName.split('.')[0];
			if(memo[modName][clsName] === undefined) {
				// async load
				var url = me.paths[modName] + '/../' + clsName.replace(/\./g, '/') + '.js';
				me.load(modName, clsName, url);
			}
			
		}
	},
	
	load: function(modName, clsName, url){
		var me = this;
		var head = document.getElementsByTagName('head')[0];
        var node = document.createElement('script');
        node.type = 'text/javascript';
        node.charset = 'utf-8';
        node.async = true;
        node.src = url;
        if (node.attachEvent) {
            node.attachEvent('onreadystatechange', success);
        } else {
            node.addEventListener('load', success, false);
        }
        head.appendChild(node);
        
        function success(e) {
    		var node = e.currentTarget || e.srcElement;
    		if (e.type === 'load' || (/^(complete|loaded)$/.test(node.readyState))) {
    			me.memo[modName][clsName] = true;
            }
    	}
	}
	
	
});
 



Usage Like This:

oop.import(['app.login.login']);

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics