码迷,mamicode.com
首页 > 编程语言 > 详细

javascript按需加载

时间:2020-06-08 10:38:55      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:asc   export   本地   ring   nbsp   child   回调   java   加载   

前言

按需加载是性能优化的一部分.在网络环境不好,网速慢的时候,使用按需加载可以节省带宽

按需加载通常用于原生js开发的项目

实现

var obj ={};
/**
   * 按需加载JS
   * @param {string} url 脚本地址
   * @param {function} callback  回调函数
   */
export function dynamicLoadJs (url, callback) {
 if(obj[url]){
         callback();
         return;
       }
       obj[url]=true;
  var head = document.getElementsByTagName(‘head‘)[0]
  var script = document.createElement(‘script‘)
  script.type = ‘text/javascript‘
  script.src = url
  if (typeof (callback) === ‘function‘) {
    script.onload = script.onreadystatechange = function () {
      if (!this.readyState || this.readyState === ‘loaded‘ || this.readyState === ‘complete‘) {
        callback()
        script.onload = script.onreadystatechange = null
      }
    }
  }
  head.appendChild(script)
}

 

javascript按需加载

标签:asc   export   本地   ring   nbsp   child   回调   java   加载   

原文地址:https://www.cnblogs.com/liuXiaoDi/p/13050027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!