动态加载js
基于prototype.js的动态加载js
用法:
1、引入prototype库
<script type="text/javascript" src="/js/prototype.js"></script>
2、引入webJsBase.js
<script type="text/javascript" src="/js/webJsBase.js?load=ad,adTopDown,logoTip,iBanner"></script>
注:ad,adTopDown,logoTip,iBanner为动态引入的js文件。如 ad.js
下面是代码
/* 动态加载js v1.0 by:dum 2012-03-08 renwumao.com 用法:src="webJsBase.js?load=a,b" 注:加载本目录下js */ var webJsBase = { require: function(libraryName) { document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>'); }, load: function(defaultLoad) { if((typeof Prototype=='undefined')||(typeof Element == 'undefined')||(typeof Element.Methods=='undefined')) throw ('prototype lib 加载失败!'); if(typeof defaultLoad=='undefined')defaultLoad=''; var js = /webJsBase\.js(\?.*)?$/; $$('head script[src]').findAll(function(s) { return s.src.match(js); }).each(function(s) { var path = s.src.replace(js, ''); var includes = s.src.match(/\?.*load=([a-zA-Z0-9_,]*)/); (includes ? includes[1] : defaultLoad).split(',').each(function(include) { webJsBase.require(path + include + '.js'); }); }); } }; webJsBase.load();