之前业务需求需要用到动态加载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