这篇文章主要介绍了javascript实现动态导入js与css等静态资源文件的方法,基于回调函数实现该功能,具有一定参考借鉴价值,需要的朋友可以参考下。
本文实例讲述了javascript实现动态导入js与css等静态资源文件的方法。分享给大家供大家参考。具体实现方法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| var $import = function() { return function(rId, res, callback) { if (res && 'string' == typeof res) { if (rId) { if ($($('#' + rId), $('head')).length > 0) { return; } } var sType = res.substring(res.lastIndexOf('.') + 1); if (sType && ('js' == sType || 'css' == sType)) { var isScript = (sType == 'js'); var tag = isScript ? 'script': 'link'; var head = document.getElementsByTagName('head')[0]; var linkScript = document.createElement(tag); linkScript.type = isScript ? 'text/javascript': 'text/css'; linkScript.charset = 'UTF-8'; if (!isScript) { linkScript.rel = 'stylesheet'; } isScript ? linkScript.src = res: linkScript.href = res; if (callback && 'function' == typeof callback) { if (linkScript.addEventListener) { linkScript.addEventListener('load', function() { callback.call(); }, false); } else if (linkScript.attachEvent) { linkScript.attachEvent('onreadystatechange', function() { var target = window.event.srcElement; if (target.readyState == 'complete') { callback.call(); } }); } } head.appendChild(linkScript); } } }; } ();
|