`

动态加载javascript增强版

阅读更多

我们经常使用动态加载Javascript,写个函数很容易现实,之前也写过一个函数,不过当加载多个JS时,只能根据浏览器返回的顺序来先后加载,这肯定不是我们想要的,现在使用了一下技巧,当加载多个JS时,能按照我们的顺序加载:

 

/*
    Name:动态加载JS
    Author:kingwell Leng
    Date : 2013/4/21
    E-mail: jinhua.leng##gmail.com

*/
function getScript(obj, callback) {
	var arr = obj,
	timeout,
	str = typeof obj === 'string';
	function add() {
		var script = document.createElement("script");
			header = document.getElementsByTagName("head")[0];
		script.src = str ? obj : arr[0];
		script.type = "text/javascript";
		if (str) {
			if (script.readyState) {
				script.onreadystatechange = function () {
					if (script.readyState === 'loaded' || script.readyState === 'complete') {
						script.onreadystatechange = null;
						callback && callback();
					}
				};
			} else {
				script.onload = function () {
					callback && callback();
				};
			}
		} else {
			if (arr.length >= 1) {
				if (script.readyState) {
					script.onreadystatechange = function () {
						if (script.readyState === 'loaded' || script.readyState === 'complete') {
							script.onreadystatechange = null;
							arr.shift();
							timeout = setTimeout(add, 1);
						}
					};
				} else {
					script.onload = function () {
						arr.shift();
						timeout = setTimeout(add, 1);
					};
				}
			} else {
				clearTimeout(timeout);
				callback && callback();
			}
		}
		header.appendChild(script);
	}
	add();
}

 

 

调用:

 

getScript(['http://code.jquery.com/jquery-1.9.1.min.js','js1.js', 'js2.js', 'js3.js', 'js4.js'], function () {
	alert('我是按顺序加载啦');
});

 现在是按照我们写代码的顺序加载啦...

 

 

 

 

0
1
分享到:
评论

相关推荐

    加载JavaScript脚本的包

    通过上述技术,开发者可以在Java应用程序中灵活运用JavaScript的功能,实现服务器端脚本执行、动态计算、以及与前端交互等多种需求。正确理解和使用这些工具,可以大大增强Java应用程序的灵活性和功能性。

    bootstrap-treeview树节点实现动态加载(懒加载)

    这意味着当用户首次访问树形视图时,只会加载根节点,当用户展开某个节点时,该节点的子节点才会在后台请求数据并动态添加到视图中。这样,即使树结构包含数千个节点,也不会对初始页面加载时间造成太大影响。 实现...

    JavaScript动态网页

    在"精通JavaScript动态网页编程(实例版)"这本书中,我们将会深入探讨JavaScript的核心概念和实际应用,以便构建功能丰富的动态网页。 1. **基础语法**:JavaScript的基础包括变量、数据类型(如字符串、数字、布尔...

    JavaScript语言与Ajax应用第二版_JavaScript语言与Ajax应用_JavaScript应用_javascri

    Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种创建动态网页的技术,允许在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。在"JavaScript语言与Ajax应用(第二版)...

    Head First JavaScript(中文版)

    它被广泛应用于客户端的网页动态效果,增强用户交互体验,并且随着Node.js的兴起,JavaScript也逐渐在服务器端得到了广泛应用。 2. **基础语法**:书中会详细介绍JavaScript的基础语法,包括变量、数据类型(如字符...

    JavaScript多图模版

    JavaScript多图模板是一种基于JavaScript语言开发的网页设计模板,它为网页设计师和开发者提供了一种高效的方式来创建具有动态效果的多图展示、交互式菜单以及多媒体播放功能的页面。这个模板充分利用了JavaScript的...

    21天学通JavaScript(第5版)- 源代码

    JavaScript是一种广泛应用于网页和网络应用的脚本语言,它的主要任务是增强用户界面,与用户交互,以及处理数据。在21天学通JavaScript(第5版)这本书中,作者张启玉和刘刚深入浅出地介绍了JavaScript的核心概念和...

    javascript加强

    在了解了JavaScript的基本语法和特点之后,加强JavaScript的学习意味着深入理解和掌握更高级的概念和技巧。 首先,我们来看看JavaScript中的浏览器对象模型(BOM)。BOM允许JavaScript与浏览器进行交互,比如操作...

    JavaScript第二版 示例代码

    这个"JavaScript第二版 示例代码"的压缩包很显然是为了帮助学习者深入理解JavaScript编程的各个方面,通过实例来加强理论知识。 首先,我们看到几个以"normal_"和"hilight_"开头的.gif文件,这些通常是用于网页的...

    《JavaScript参考手册》(中文版)

    JavaScript主要在客户端运行,用于增强网页的交互性和动态性。 《JavaScript参考手册》(中文版)是一本详尽的指南,旨在帮助读者深入理解和掌握JavaScript语言。这本书涵盖了JavaScript的基础语法、数据类型、控制...

    javascript中文版教程

    JavaScript是一种广泛应用于网络开发的脚本语言,它主要在客户端运行,为网页添加交互性,增强用户界面。这个“javascript中文版教程”提供了一个全面的学习资源,帮助初学者和有经验的开发者深入理解和掌握...

    ArcGIS api for Javascript3.21版本加载天地图

    地图由多个图层组成,每个图层可以是不同的数据源,如TiledMapServiceLayer(瓦片地图服务)或DynamicMapServiceLayer(动态地图服务)。对于天地图,通常会使用TiledMapServiceLayer来加载其提供的瓦片服务。 以下...

    javascript ppt(完全版)

    JavaScript是一种广泛应用于网页开发的编程语言,其设计目的是为网页添加动态交互性。它由Netscape公司的Brendan Eich在1995年发明,最初被命名为LiveScript,后来为了利用Java的知名度,改名为JavaScript,但两者在...

    ArcGIS API for Javascript3加载天地图

    在本文中,我们将深入探讨如何使用ArcGIS API for JavaScript 3.23版本来加载天地图,包括矢量图、影像图和地形图,并展示如何添加标注图层。ArcGIS API for JavaScript是Esri公司提供的一个强大的Web GIS开发工具,...

    javascript中文版

    3. **数组方法**:包括push、pop、shift、unshift、slice、splice、concat、join、indexOf、lastIndexOf、forEach、map、filter、reduce等,这些方法极大地增强了对数组数据的操作能力。 4. **DOM操作**:...

    JavaScript & DHTML Cookbook 中文版(第2版) 下载

    《JavaScript & DHTML Cookbook 中文版(第2版)》是一本专为Web开发者准备的实战指南,旨在帮助读者深入理解和应用JavaScript与DHTML技术。这本书涵盖了从基础到高级的各种JavaScript编程技巧,以及如何利用DHTML...

    JavaScript实例应用 JavaScript实例应用

    1. **动态网页交互**:JavaScript可以实时更新网页内容,如响应用户的点击事件,动态加载数据,实现下拉菜单、滑动效果等。通过修改DOM(文档对象模型)元素,JavaScript可以改变网页布局和内容。 2. **表单验证**...

    Arcgis Server动态加载图层

    它允许用户根据需要在运行时动态地添加、删除或更改地图中的图层,而不是一次性加载所有数据。这种技术对于处理大量数据或者需要实时更新的地图应用尤其有用,因为它可以减少网络传输的数据量,提高地图的响应速度。...

    javascript完整版资料

    JavaScript主要运行在浏览器环境中,用于增强用户界面,提供动态交互功能。它的语法基于ECMAScript规范,最新版本为ECMAScript 2022。JavaScript的核心特性包括变量、数据类型(如字符串、数字、布尔值、对象等)、...

    JavaScript从入门到精通(第4版)(示例源码+习题答案).7z

    5. **AJAX与Fetch**:AJAX(异步JavaScript和XML)使得无需刷新整个页面就能获取和更新数据,Fetch API是现代浏览器中用于异步请求的新标准,它们都极大地增强了网页的交互性。 6. **ES6新特性**:第四版教材通常会...

Global site tag (gtag.js) - Google Analytics