动态加载或执行js

Base.Script={
    
    create:
function(obj,contain,name)
    
{
        
if(!name)
        
{
            
var date=new Date();
            name
=date.getTime();
        }

        contain
=$(contain)?$(contain):document.body;
        
var script=document.createElement("script");
        script.id
=name;
        
if(typeof(obj)=="string")
        
{
            
var src=obj.match(/^<script[^>]+?scr=([^\s>]+)/i);
            
if(src)
            
{
                script.src
=src;
            }

            
else
            
{
                script.text
=obj;
            }

        }

        
if(typeof(obj)=="object")
        
{
            
if(obj.src)
                script.src
=obj.src;
            
else
                script.text
=obj.innerHTML;
        }

        contain.appendChild(script);
        
return name;
    }

}

//动态载入一个js文件
Base.Script.create({src:"/js/abc.js"})

//动态执行一个js块
<script type="text/javascript" id="js1">
alert(2);
</script>
Base.Script.create($("js"));

//动态插入一段脚本
Base.Script.create("alert(2)");

有什么不足之处请指出.......
posted @ 2008-07-16 10:26  lzwlfw  阅读(1196)  评论(0编辑  收藏  举报