判断 JS 文件是否加载再执行操作

Eric 杂记 772 次浏览 评论已关闭

记一个 JavaScript 代码片段。有时需判断用户是否加载完特定 JS 文件,然后再相应地触发事件。代码支持现代浏览器运行,不兼容 IE7 及以下。如要兼容,可透过 readyState 返回状态判断,下文一并有说。

function checkJsLoading(url) {
	var carHead = document.getElementsByTagName('head')[0];
	var carJs = document.createElement('script');
	carJs.setAttribute('type', 'text/javascript');
	carJs.setAttribute('src', url);
	carHead.appendChild(carJs);
	carJs.onload = function() {
		...
	}
}
checkJsLoading('font-awesome.js');

添加 IE 旧版本兼容支持。

carJs.onreadystatechange = function() {
	if (carJs.readyState == 'loaded' || carJs.readyState == 'complete') {
		...
	}
}