方法一、
function loadScript(url, callback){
callback=callback||function(){};
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others: Firefox, Safari, Chrome, and Opera
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
使用时,只要简单地传递JavaScript文件的URL和回调函数即可:
loadScript("http://yui./2.7.0/build/yahoo/yahoo-min.js",
function(){
YAHOO.namespace("mystuff");
//more...
});
方法二可以跨域加载JS文件:
var MiniSite=new Object();
MiniSite.Browser={
ie:/msie/.test(window.navigator.userAgent.toLowerCase()),
moz:/gecko/.test(window.navigator.userAgent.toLowerCase()),
opera:/opera/.test(window.navigator.userAgent.toLowerCase()),
safari:/safari/.test(window.navigator.userAgent.toLowerCase())
};
MiniSite.JsLoader={
load:function(sUrl,fCallback){
fCallback=fCallback||function(){};
var _script=document.createElement('script');
_script.setAttribute('type','text/javascript');
_script.setAttribute('src',sUrl);
document.getElementsByTagName('head')[0].appendChild(_script);
if(MiniSite.Browser.ie){
_script.onreadystatechange=function(){
if(this.readyState=='loaded'||this.readyState=='complete'){
fCallback();
}
};
}else if(MiniSite.Browser.moz){
_script.onload=function(){
fCallback();
};
}else{
fCallback();
}
}
};
使用方法:
//使用方法
function showaddr()
{
alert(IPData);
}
MiniSite.JsLoader.load("http://fw.qq.com/ipaddress",function(){showaddr();});
|