日期:2014-05-16  浏览次数:20344 次

动态加载javascript,加载异域js脚本

?

??????? 需要引用一个js脚本,处于安全考虑,把脚本放置在另一台服务器上。利用脚本提供的函数 去解密数据。

?

??????? 在网上找了有小半天,终于找到一篇非常符合我需要的脚本,共享出来,服务大家。

???

?????function load_script(url, callback){?
???
??? var head = document.getElementsByTagName('head')[0];?
??? var script = document.createElement('script');?
??? script.type = 'text/javascript';?
??? script.src = url;?
??? //借鉴了jQuery的script跨域方法?
??? script.onload = script.onreadystatechange = function(){?
??? if((!this.readyState||this.readyState === "loaded"||this.readyState === "complete")){?

???????????//这里的写法非常好 值得学习下
??????????? callback && callback();?
??????????? // Handle memory leak in IE?
??????????? script.onload = script.onreadystatechange = null;?
??????????? if ( head && script.parentNode ) {?
????????????? head.removeChild( script );?
??????????? }?
??????? }?
??? };?
??? // Use insertBefore instead of appendChild? to circumvent an IE6 bug.?
??? head.insertBefore( script, head.firstChild );

?

?

这段代码带有了回调函数,在回调函数中,我们就可以直接执行 动态加载过来脚本里面的函数。

?

例如:

?

load_script('http://192.168.4.110:8080/nms/xxxxJosn.js',function(){

?

//此处调用 xxxxJosn.js 内部函数

?

});

?

?

?