Enviar búsqueda
Cargar
Javascript加载总结
•
Descargar como DOCX, PDF
•
0 recomendaciones
•
625 vistas
衡锋 阳
Seguir
javascript加载总结,高性能加载,按照依赖执行。模块加载器的实现的关键技术。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 6
Descargar ahora
Recomendados
推聊 3分钟可运行起来的开源 android手机聊天系统
推聊 3分钟可运行起来的开源 android手机聊天系统
kaerseng
Node.js长连接开发实践
Node.js长连接开发实践
longhao
PHP/NodeJS/Redis项目实战
PHP/NodeJS/Redis项目实战
Sun Zephyr
Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南
YUCHENG HU
Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境
YUCHENG HU
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
guest2d0fe3
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Cary Yang
Wordpress使用心得
Wordpress使用心得
hihirex
Recomendados
推聊 3分钟可运行起来的开源 android手机聊天系统
推聊 3分钟可运行起来的开源 android手机聊天系统
kaerseng
Node.js长连接开发实践
Node.js长连接开发实践
longhao
PHP/NodeJS/Redis项目实战
PHP/NodeJS/Redis项目实战
Sun Zephyr
Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南
YUCHENG HU
Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境
YUCHENG HU
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
guest2d0fe3
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Cary Yang
Wordpress使用心得
Wordpress使用心得
hihirex
Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程
YUCHENG HU
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
YUCHENG HU
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
pigso
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
YUCHENG HU
8, lamp
8, lamp
ted-xu
Php及drupal性能优化系列(二)
Php及drupal性能优化系列(二)
Robbin Zhao
Php Webservers
Php Webservers
samon127
Maven & mongo & sring
Maven & mongo & sring
Tzu Chi University
Wamp环境下安装 wordpress
Wamp环境下安装 wordpress
strugglesmen
Nodejs api server_implement
Nodejs api server_implement
Chi-wen Sun
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
第十二章解答
第十二章解答
jiannrong
超。光速 網站最佳化實戰 -twMVC#8
超。光速 網站最佳化實戰 -twMVC#8
twMVC
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
haiyuan ning
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
使用Samba提升linux平台开发效率
使用Samba提升linux平台开发效率
Zhen Li
Javascript stacktrace
Javascript stacktrace
cazhfe
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
Slideshare
Slideshare
mmehtala
Tangramgrid
Tangramgrid
衡锋 阳
I like this bag
I like this bag
echimeg
Más contenido relacionado
La actualidad más candente
Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程
YUCHENG HU
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
YUCHENG HU
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
pigso
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
YUCHENG HU
8, lamp
8, lamp
ted-xu
Php及drupal性能优化系列(二)
Php及drupal性能优化系列(二)
Robbin Zhao
Php Webservers
Php Webservers
samon127
Maven & mongo & sring
Maven & mongo & sring
Tzu Chi University
Wamp环境下安装 wordpress
Wamp环境下安装 wordpress
strugglesmen
Nodejs api server_implement
Nodejs api server_implement
Chi-wen Sun
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
第十二章解答
第十二章解答
jiannrong
超。光速 網站最佳化實戰 -twMVC#8
超。光速 網站最佳化實戰 -twMVC#8
twMVC
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
haiyuan ning
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
使用Samba提升linux平台开发效率
使用Samba提升linux平台开发效率
Zhen Li
Javascript stacktrace
Javascript stacktrace
cazhfe
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
La actualidad más candente
(19)
Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
8, lamp
8, lamp
Php及drupal性能优化系列(二)
Php及drupal性能优化系列(二)
Php Webservers
Php Webservers
Maven & mongo & sring
Maven & mongo & sring
Wamp环境下安装 wordpress
Wamp环境下安装 wordpress
Nodejs api server_implement
Nodejs api server_implement
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
第十二章解答
第十二章解答
超。光速 網站最佳化實戰 -twMVC#8
超。光速 網站最佳化實戰 -twMVC#8
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
Node.js從無到有 基本課程
Node.js從無到有 基本課程
使用Samba提升linux平台开发效率
使用Samba提升linux平台开发效率
Javascript stacktrace
Javascript stacktrace
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
Destacado
Slideshare
Slideshare
mmehtala
Tangramgrid
Tangramgrid
衡锋 阳
I like this bag
I like this bag
echimeg
Herelegdehvvn word
Herelegdehvvn word
echimeg
谈谈模块化
谈谈模块化
衡锋 阳
Halloween 2011
Halloween 2011
jimmypolk
Web绘图
Web绘图
衡锋 阳
Hereglegdehvvn
Hereglegdehvvn
echimeg
I like this bag
I like this bag
echimeg
Destacado
(9)
Slideshare
Slideshare
Tangramgrid
Tangramgrid
I like this bag
I like this bag
Herelegdehvvn word
Herelegdehvvn word
谈谈模块化
谈谈模块化
Halloween 2011
Halloween 2011
Web绘图
Web绘图
Hereglegdehvvn
Hereglegdehvvn
I like this bag
I like this bag
Similar a Javascript加载总结
PHP & AppServ
PHP & AppServ
Ht Wang
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
Jackson Tian
Html5
Html5
cazhfe
高性能网站最佳实践
高性能网站最佳实践
longhao
客户端存储与计算
客户端存储与计算
xiaotao ning
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
self study
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
rewinx
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
Frank Cai
那些年,我们一起跨过域
那些年,我们一起跨过域
ksky521
非常靠谱 Html 5
非常靠谱 Html 5
Tony Deng
Web开发基础
Web开发基础
dynaturtle
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
Hong Cai
Paveo Tweak WordPress
Paveo Tweak WordPress
Yuancheng Yang
如何使用 Xhprof 分析網站效能 (真實案例)
如何使用 Xhprof 分析網站效能 (真實案例)
Cyril Wang
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
Will Huang
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
裕波 周
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
taobao.com
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
Similar a Javascript加载总结
(20)
PHP & AppServ
PHP & AppServ
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
Html5
Html5
高性能网站最佳实践
高性能网站最佳实践
客户端存储与计算
客户端存储与计算
Real time web实时信息流推送
Real time web实时信息流推送
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
那些年,我们一起跨过域
那些年,我们一起跨过域
非常靠谱 Html 5
非常靠谱 Html 5
Web开发基础
Web开发基础
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
Paveo Tweak WordPress
Paveo Tweak WordPress
如何使用 Xhprof 分析網站效能 (真實案例)
如何使用 Xhprof 分析網站效能 (真實案例)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Javascript加载总结
1.
javascript 加载总结 加载 javascript
的 demo http://labjs.com/test_suite/test-script-tags.php Timeline: IE8: IE8 模拟 IE7: FF7: Chrome14: 问题:脚本加载会阻塞后续的页面内容加载,影响 web 性能。 内联脚本同样阻塞脚本并行下载,影响 web 性能。
2.
原因: 浏览器并发即可以同时下载 CSS 文件和
JS 文件,在 http1.1 的协议多支持 2 个并发数,IE8、 firefox2 最多支持 6 个并发数,opera 和 safari 最多支持 8 个并发数,chrome 最多支持 4 个并 发数。 常规解决办法: 浏览器并发个数是指同一个域名同时可请求数量。浏览器的并发数是可以设置的。 使用多域名下载,使用 CDN 可以有效的提高并发数。 脚本放在页面底部。 脚本加载完毕即执行。 脚本的加载和执行 最理想的情况:无阻塞并行加载,并且能控制脚本加载顺序(解决文件间的依赖问题)。 脚本加载方式: XHR Eval XHR Inject Script Iframe Script DOM Element Script Defer document.write Script Tag
3.
控制脚本的执行时机 http://labjs.com/test_suite/test-script-tags.php 假设依赖关系是 script2 依赖于
script1,script3 依赖于 script2。能达到理想的状况么? 默认脚本下载完即执行。非并行下载可以保证脚本的执行顺序。 异步加载回调 window onload 定时器(Timer) Script Onload Degrade Script Tag
4.
Script 标签的 defer
属性: 脚本加载完后并不立即执行,在 DOMReady 后执行。 延迟脚本执行,相当于将 script 标签放入页面 body 标签的底部。 IE,FF3.1+支持 HTML5 的 script 标签 async 属性 该脚本异步加载,下载完即执行,无视其他脚本的存在。 一些解决方案 YUILoader:前后端一起来解决这个问题,后端 combo 服务拼接好所需 js。减少 http 请求。 commonjs/seajs:换个角度看这个问题,不是解决脚本加载本身的问题。而是通过模块化的思 想重新组织脚本。 labjs/reqiurejs/headjs: 解决脚本加载问题。 labjs http://labjs.com/test_suite/test-LABjs-preloading.php?which=16 IE8 模拟 IE7 Timeline: FF7:
5.
FF7 Debug 日志: 脚本的执行顺序是
script1,script2,script3,虽然下载完毕的时间不是 script1,script2,script3 labjs 原理: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order 要保证并行下载,而且按给定顺序执行,需要预加载 js 文件而不执行。 labjs 中预加载,执行的几种方式: 1.给 script 设置 src 属性但是并不把 dom 节点 append 到 head 中,实现预加载, dom 追加 当 到 head 中时脚本执行(IE 中使用该方法)。 2.相同 domain。使用 XHR 对象加载。然后使用 eval(xhr.responseText)来执行脚本。 3. 非 IE 浏 览 器 , 使 用 <script type=”text/cache”></script> 来 预 先 加 载 脚 本 。 然 后 将 type=”text/javascript”来执行脚本。 (类似的思路还可以使用(new Image().src=”xx.js” 来将脚本加载到缓存中,然后使用 DOM 操 作添加 script 节点) 4.使用 html5 中<script async ></script>来保证执行顺序
6.
5.单个 js 加载直接使用
DOM 操作。
Descargar ahora