原生js实现动态加载js文件?

x33g5p2x  于2022-04-11 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(561)

一、写在前面
今天拼多多笔试题,题目如下:

  1. 实现一个动态加载函数function loadScript(src, attrs)返回Promise, 其中
  2. src是脚本地址,attrs是脚本属性。

二、具体实现

  1. <script>
  2. function loadScript(src, attrs) {
  3. return new Promise((resolve, reject) => {
  4. try {
  5. let scriptEle = document.createElement('script')
  6. scriptEle.type = 'text/javascript'
  7. scriptEle.src = src
  8. for (let key in attrs) {
  9. scriptEle.setAttribute(key, attrs[key])
  10. }
  11. scriptEle.addEventListener('load', function () {
  12. resolve('成功')
  13. })
  14. document.body.appendChild(scriptEle)
  15. } catch (err) {
  16. reject(err)
  17. }
  18. })
  19. }
  20. loadScript('http://cdn.staticfile.org/jquery/1.6.2/jquery.min.js', {async: true}).then(res => {
  21. console.log(res)
  22. })
  23. </script>

相关文章