zoukankan      html  css  js  c++  java
  • js文件的装载和执行

    1.浏览器对script引用的js文件分两步,下载,下载完毕后马上执行;这两步都会阻塞浏览器继续解析。

    2.加入defer属性,<script defer type="text/javascript" src="some.js" ></script>,浏览器会异步加载js,待DOMContentLoaded后顺序执行js。

    3.预加载js,自定义执行时机。

    <script language="javascript" type="text/javascript">
        function cachejs(script_filename){
            var cache = document.createElement('object');
            cache.data = script_filename;
            cache.id = "coolshell_script_cache_id";
            cache.width = 0;
            cache.height = 0;
            document.body.appendChild(cache);
        }
     
        function loadjs(script_filename) {
            var script = document.createElement('script');
            script.setAttribute('type', 'text/javascript');
            script.setAttribute('src', script_filename);
            script.setAttribute('id', 'coolshell_script_id');
     
            script_id = document.getElementById('coolshell_script_id');
            if(script_id){
                document.getElementsByTagName('head')[0].removeChild(script_id);
            }
            document.getElementsByTagName('head')[0].appendChild(script);
        }
     
        function LoadJS(){
            var script = './alert.js';
            loadjs(script);
        }
     
    </script>
     
     
    ...
     
    <p style="cursor: pointer" onclick="LoadJS()">Click to load alert.js </p>
     
    ...
    ...
    <script>
        cachejs('./alert.js');
    </script>

    4.seajs和requirejs

    seajs是执行到引用文件代码,再去引用下载,慢。

    requirejs也是如此。

    希望有什么选项能给个选择,指定哪些文件要预加载,哪些文件是需要时才去加载。

    参考链接:

    http://coolshell.cn/articles/9749.html

    http://www.cnblogs.com/coco1s/p/4010310.html

    http://www.cnblogs.com/tiwlin/archive/2011/12/26/2302554.html

  • 相关阅读:
    vi简单操作说明
    start django server
    计划
    在C#程序中使用ocx的方法
    在存储过程中使用另一个存储过程返回的查询结果集
    Java位操作大全(通用于C语言)
    对面象对象概念的理解、解释
    读书笔记 UltraGrid(14)
    Svcutil使用点滴
    水晶报表使用push模式(2)
  • 原文地址:https://www.cnblogs.com/samwu/p/4014328.html
Copyright © 2011-2022 走看看