惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
量子位
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
博客园 - 聂微东
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
U
Unit 42
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog

博客园 - 饭

This MySqlConnection is already in use. See https://fl.vu/mysql-conn-reuse WinForm使用Python.Net调用Yolov8将图像显示在pictureBox控件上. EPPlus操作透视表过滤数据 JS/html5 文字转语音 关于IIS部署.NET7的记录 nginx伪静态过滤静态文件 阿里云Nginx伪静态 记录一些壁纸/图片网站 js四舍五入. javascript四舍五入 真正四舍五入 不是四舍六入五成双 比较两个相同类型的实例是否相同, 支持忽略指定字段. entity framework 实现按照距离排序[转] 正padding负margin实现多列等高布局(转) 在iframe内页触发顶层页面body的blur事件 bootstrap 模态窗口 多重/多个弹窗滚动条补丁 2019年6月车型数据Access数据库+缩略图 更新于2019年6月5日. sql server 2012 分页/dapper/C#拼sql/免储存过程/简易 正则: 匹配除了某些单词之外的其他单词 asp.net mvc json数据缓存 知识点关键词(记录一下) TimeSpan格式化字符串格式(摘)
按顺序动态加载js, 可控版本, 有回调
· 2019-01-24 · via 博客园 - 饭

load和onScriptLoad方法是直接从layerui的源码里粘贴出来修改了一下用的, 来源: https://gitee.com/sentsin/layui/blob/master/src/layui.js  

var version = 1;

function jsloader(arr, cb) {
    var head = document.getElementsByTagName('head')[0];

    var _load_index = 0;

    function onScriptLoad(node, e, url) {
        var readyRegExp = navigator.platform === 'PLaySTATION 3' ? /^complete$/ : /^(complete|loaded)$/
        if (e.type === 'load' || (readyRegExp.test((e.currentTarget || e.srcElement).readyState))) {
            head.removeChild(node);
            onCallback();
        }
    }

    function onCallback() {
        _load_index++;
        if (_load_index == arr.length) {
            cb();
        } else {
            load(arr[_load_index]);
        }
    }

    var isOpera = typeof opera !== 'undefined' && opera.toString() === '[object Opera]';

    function load(url) {
        var node = document.createElement('script');

        node.async = true;
        node.charset = 'utf-8';
        node.src = url + '?v=' + version;

        head.appendChild(node);
        if (node.attachEvent && !(node.attachEvent.toString && node.attachEvent.toString().indexOf('[native code') < 0) && !isOpera) {
            node.attachEvent('onreadystatechange', function (e) {
                onScriptLoad(node, e, url);
            });
        } else {
            node.addEventListener('load', function (e) {
                onScriptLoad(node, e, url);
            }, false);
        }
    }

    load(arr[_load_index]);
}

使用方法:

//使用方式
jsloader(["js/1.js", "js/2.js", "js/3.js"], function () {
console.log('all complete'); });

1/2/3.js内容

//1.js
var a = 1;
console.log(1);

//2.js
var b = 1;
console.log('a:' + a + ' / ' + 2);


//3.js
var c = 1;
console.log('a:' + a + ' / ' + 'b:' + b + ' / ' + 3);

效果: