判断js脚本是否加载完,并在加载完后进行操作

代码如下:

//  为方便部署,在加载socket.io.js时,使用location.hostname获取的主机名来动态加载脚本

    function _loadScript_socketIO(callback) {
        const script_socketIO = document.createElement('script');
        const doCallback = () => {
            if (callback && typeof callback === 'function') {
                callback();
            } else { }
        };

        script_socketIO.setAttribute('src', 'http://' + location.hostname + ':9899/socket.io/socket.io.js');
        document.body.appendChild(script_socketIO);

        // 脚本加载完成后,执行回调函数

        script_socketIO.onload = script_socketIO.onreadystatechange = () => {
            if (!script_socketIO.readyState || script_socketIO.readyState == 'loaded' || script_socketIO.readyState == 'complete') {
                doCallback();
            } else {}

            script_socketIO.onload = script_socketIO.onreadystatechange = null;
        };
    }

你可能感兴趣的:(判断js脚本是否加载完,并在加载完后进行操作)