之前业务需求需要用到动态加载js文件,供不同功能调取使用。
由于项目是以jQuery+apicloud实现的,原本是通过$.getScript实现了js文件的载入。
但是最近由于IOS需求将UIWebView升级为WKWebView发现$.getScript的引入方式存在兼容问题,js载入失效,且不报错。
于是更替script标签通过dom实现的载入方式(原生js)。
下例为封装好的载入方法:
function loadJS( url, callback ){
var script = document.createElement('script'),
fn = callback || function(){};
script.type = 'text/javascript';
//IE
if(script.readyState){
script.onreadystatechange = function(){
if( script.readyState == 'loaded' || script.readyState == 'complete' ){
script.onreadystatechange = null;
fn();
}
};
}else{
//其他浏览器
script.onload = function(){
fn();
};
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}使用方法:
loadJS('要载入js文件的路径',function(){//对应的回调执行});本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com
