dd

一个很不错的延迟加载方式

jerry thinkphp 2015年11月19日 收藏
适用于bootstrap 等后台 很多js、css,图片和文件延迟加载
<script type="text/javascript" url-src="__STATIC__/js/utility/utility.js"></script>
    <script type="text/javascript"  url-src="__STATIC__/js/demo/demo.js"></script>
    <script type="text/javascript" url-src="__STATIC__/js/main.js"></script>
    <link rel="stylesheet" type="text/css" url="__STATIC__/plugins/fullcalendar/fullcalendar.min.css">
    <link rel="stylesheet" type="text/css" url="__STATIC__/skin/default_skin/css/theme.css">
前提是加载完jquery
//延迟加载js
            $('script[url-src]').each(function () {
                var _this = $(this),
                        url = _this.attr('url-src');
                _this.attr('src', url);
            });
            $('link[url]').each(function () {
                var _this = $(this),
                        url = _this.attr('url');
                _this.attr('href', url);
            });
说说这样的好处:一般我们后台登录 用不到大量的css和js,所以可以完全独立出来,这样登录的页面就加载快多了,然后我们登录的,输入用户名、密码和验证码什么的,需要一定的时间。这样我们就给延迟加载留出了更多的时间了。上面那段代码是页面加载完成后才执行的(不影响登录的js操作的,也可以用异步预加载,看应用的场景而定)。也就是说,预加载了后台框架的css,js文件,存在浏览器缓存中,当我们登录成功时,进入后台,预加载的css,js什么的。就直接304了。这段代码是我在网上找得,但是预加载后台的文件是我自己想出来的。
如果用到前台的话,只要保证你的页面第一屏能够快速的加载完,用延迟加载也是可以的、

异步加载,我也看了一下,代码比延迟加载多,而且不能控制顺序,即是能控制顺序,代码也是一坨一坨的,我觉得麻烦。

如果你觉得好,请点赞、(*^__^*) 嘻嘻
dd