1.在</body>前放置<script type="text/javascript"></script>标签;
2.非阻塞脚本;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>xxx</title>
</head>
<body>
<script type="text/javascript">
alert('common');
</script>
<script type="text/javascript" defer>
alert('defer');
</script>
<script type="text/javascript">
window.onload = function(){
alert('onload');
}
</script>
</body>
</html>
执行顺序:common--->defer--->onload
3.动态脚本一;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>xxx</title>
</head>
<body>
<script type="text/javascript">
var script = document.createElement('script');
script.type = 'text/javascript';
script.onload = function(){
alert('script loaded!');
};
script.src = 'loaded.js';
document.getElementsByTagName('head')[0].appendChild(script);
</script>
</body>
</html>
loaded.js文件如下:
alert('loaded.js')
执行顺序:loaded.js--->script loaded!
4.动态脚本二;
html如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>xxx</title>
</head>
<body>
<script type="text/javascript" src="loadScript.js"></script>
<script type="text/javascript">
loadScript('script.js', function(){
alert('script.js loaded');
});
</script>
</body>
</html>
loadScript.js如下:
function loadScript(url, callback){
var script = document.createElement('script');
script.type = 'text/javascript';
if(script.readyState){//IE
script.onreadystatechange = function(){
if(script.readyState == 'loaded' || script.readyState == 'complete'){
script.onreadystatechange = null;
callback();
}
};
}else{//Others
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
script.js如下:
alert('script.js');
执行书序:script.js--->script is loaded
5.xhr脚本注入;
html如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>xxx</title>
</head>
<body>
<script type="text/javascript">
var xhr = new XMLHttpRequest();
xhr.open('get', './script.js', true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){
var script = document.createElement('script');
script.type = 'text/javascript';
script.text = xhr.responseText;
document.body.appendChild(script);
}
}
};
xhr.send(null);
</script>
</body>
</html>
script.js如下:
alert('script.js is loaded');
6.推荐非阻塞模式一;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>xxx</title>
</head>
<body>
<script type="text/javascript" src="loader.js"></script>
<script type="text/javascript">
loadScript('the-rest.js', function(){
Application.init();
});
</script>
</body>
</html>
7.推荐非阻塞模式二;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>xxx</title>
</head>
<body>
<script type="text/javascript">
function loadScript(url, callback){
var script = document.createElement('script');
script.type = 'text/javascript';
if(script.readyState){//IE
script.onreadystatechange = function(){
if(script.readyState == 'loaded' || script.readyState == 'complete'){
script.onreadystatechange = null;
callback();
}
};
}else{//Others
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
loadScript('the-rest.js', function(){
Application.init();
});
</script>
</body>
</html>
8.使用第三方插件;
一:使用YUI3进行压缩合并;
二:使用LazyLoad.js加载;
三:使用LABjs加载。
相关推荐
基于ArcGIS API for JavaScript加载百度各种类型切片地图,资源包括封装的BaiduLayer模块,示例页面。
ArcGIS API for JavaScript加载百度地图代码ArcGIS API for JavaScript加载百度地图代码ArcGIS API for JavaScript加载百度地图代码
arcgis api for JavaScript加载在线天地图(包含矢量,影像,注记)
script.js:异步 JavaScript 加载器和依赖管理器
基于ArcGIS API for JavaScript加载天地图,加载在线天地图,通过继承TiledMapServiceLayer类实现。
Arcgis for javascript 加载天地图及自定义图
javascript加载xml文件和xml字符串的类. 包括dom方式加载和XMLHTTP方式加载.
Little Loader 是一个轻量级的、IE8 JavaScript 加载器特点:脚本加载后可靠回调非常非常小 标签:Little
javascript加载xml 并解析各节点的值(实现方法).docx
JAVASCRIPT加载XML文档及操作XML文档的方法[归类].pdf
实现JavaScript 动态加载事件
loadrunner, 浏览器的简单,灵活,灵活的JavaScript加载器和构建工具 Loadrunner是一个JavaScript依赖管理器。to开始作为我的科学项目脚本加载器和 MODULE 系统,但它转换为一般依赖项管理器来管理从CSS模板到DOM...
node-ffi是一个Node.js插件,用于使用纯JavaScript加载和调用动态库。 它可用于创建原生库的绑定,而无需编写任何C 代码。
使用ArcGIS API for JavaScript4.10加载高德地图和高德影像,通过扩展BaseTileLayer来自定义GaodeMapLayer模块。
简单描述了javaScript与Flash的通信
利用ArcGIS JavaScript API加载高德在线地图的扩展利用ArcGIS JavaScript API加载高德在线地图的扩展利用ArcGIS JavaScript API加载高德在线地图的扩展
JavaScript加载xml,支持IE,firefox浏览器
arcgis for javascript api 加载天地图和高德地图两种在线地图.有注释及详细说明。
解决办法:换一个js包含的方式,让javascript加载速度倍增. 把通常加载方式: 代码如下: [removed][removed] 改变成: 代码如下: [removed] [removed](“”xxx.js”>”) [removed] 如果要加载多个js的话,可以使用...
Sleuth是一个加载框架,它允许开发者只需要require相应的库或者插件,不需要去下载,就可以直接使用,并且允许开发者任意切换版本。 标签:Sleuth