zoukankan      html  css  js  c++  java
  • javascript按需加载

    前言

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

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

    实现

    思路

    1.判断url是否已经存在,如果存在不执行后续,不存在才会执行后续的按需加载

    2.获取标签head

    3.我们要实现< script src="xx.js" type="text/javascript"> 加载完成执行一个操作,具体实现方法:

    • 创建script标签,添加属性src和type.
    • script加载完毕后在ff浏览器中会执行onload事件(兼容ff浏览器)
    • script加载完毕后在ie中要实现立即执行某个事件需要onreadystatechange事件和this.readyState事件共同判断,this.readyState为loaded或者是complete都表明script已经加载完毕
    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)
    }
  • 相关阅读:
    文本替换
    国际时间转化为北京时间
    nginx 白名单
    System.Web.HttpException 超过了最大请求长度。
    nginx 优化
    nginx 502 504
    nginx 配置文件相关参数
    nginx location指令 正则表达式
    子网下连接路由器配置
    Java初学者
  • 原文地址:https://www.cnblogs.com/liuXiaoDi/p/13050027.html
Copyright © 2011-2022 走看看