【apicloud】动态加载js文件

之前业务需求需要用到动态加载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(){//对应的回调执行});


翻滚的胖子博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论