SlideShare uma empresa Scribd logo
1 de 66
从无阻塞脚本加载 (LAB.js) 到浏览器线程模型 Jackson Tian/ 田永强  @ 朴灵  at SAP 05/09/11
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
说到无阻塞脚本加载 ,[object Object],[object Object],[object Object],[object Object],05/09/11
为什么 script 标签会阻塞页面解析 05/09/11
05/09/11
Document.write 是魔鬼   ,[object Object],[object Object],[object Object],[object Object],05/09/11
05/09/11
Alert 也是魔鬼 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
为什么 script 标签会阻塞页面解析 ,[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
Chromium 解析流程 05/09/11 此图由 Tapir( 貘 ) 提供,感谢他
YSlow 的 35 条军规 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
无阻塞脚本加载 05/09/11
Defer 属性 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
Async 属性 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
标准与实现之间的差距 ,[object Object],[object Object],[object Object],05/09/11
Script 标签的 onload 事件 ,[object Object],[object Object],[object Object],[object Object],05/09/11
无阻塞脚本加载实例 ,[object Object],[object Object],05/09/11
XMLHttprequest 脚本注入 ,[object Object],[object Object],[object Object],05/09/11
XMLHttpRequest   Eval ,[object Object],[object Object],[object Object],05/09/11
document.write Script Tag ,[object Object],[object Object],[object Object],05/09/11
Script in Iframe ,[object Object],[object Object],[object Object],[object Object],05/09/11
问题总结 ,[object Object],[object Object],[object Object],[object Object],05/09/11
各种方法支持一览 05/09/11 方法 并行加载 顺序执行 不受同源限制 浏览器都支持 Defer √ √ √ x Async √ x √ x 动态脚本元素 √ x √ √ XHR Inject √ √ x √ XHR Eval √ √ x √ Document.write √ √ √ x Iframe √ ? x √
无顺序执行的要求情况下 05/09/11 方法 并行加载 顺序执行 不受同源限制 浏览器都支持 Defer √ √ √ x Async √ x √ x 动态脚本元素 √ x √ √ XHR Inject √ √ x √ XHR Eval √ √ x √ Document.write √ √ √ x Iframe √ ? x √
05/09/11
如何控制依赖加载 ,[object Object],[object Object],05/09/11
如何控制依赖加载 ,[object Object],[object Object],05/09/11
如何控制依赖加载 ,[object Object],[object Object],05/09/11
如何控制依赖加载 ,[object Object],[object Object],[object Object],05/09/11
[object Object],05/09/11
[object Object],05/09/11
有没有一种方法 ,[object Object],[object Object],[object Object],05/09/11
LAB.js ,[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
LABjs 的诀窍 ,[object Object],[object Object],05/09/11
[object Object],[object Object],[object Object],LABjs 的诀窍 05/09/11
LABjs 示例 ,[object Object],[object Object],05/09/11
LABjs 方法 ,[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
LABjs API 示意 05/09/11
题外话 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
题外话 ,[object Object],05/09/11
无阻塞脚本与 DOM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
如何解决以上问题? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
回顾 ,[object Object],[object Object],[object Object],[object Object],05/09/11
为什么要啰嗦浏览器线程 ,[object Object],[object Object],[object Object],05/09/11
[object Object],[object Object],[object Object],JavaScript 线程怨念知多少 05/09/11
JavaScript 线程 ,[object Object],[object Object],[object Object],05/09/11
可是 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
浏览器线程知多少 ,[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
前端,你伤不起 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
关于 AJAX 的同步异步 ,[object Object],[object Object],[object Object],05/09/11
被各种 ajax 库宠坏的孩子们 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
异步 Ajax 模型 05/09/11
同步 Ajax 模型 05/09/11
消息模型与事件驱动 ,[object Object],[object Object],[object Object],[object Object],05/09/11
消息编程模型  Vs.  多线程编程 ,[object Object],[object Object],[object Object],[object Object],05/09/11
从 Web Worker 看浏览器的线程 ,[object Object],[object Object],05/09/11
浏览器是最成熟的消息模型应用 ,[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
消息模型的优势 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
消息模型的弱势 ,[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
NodeJS 是一个跑在 Server 端的浏览器 浏览器架构 (Chrome) NodeJS 架构 05/09/11
未来世界也许会是这样的 ,[object Object],[object Object],[object Object],05/09/11
为何 JScript 在服务端会死掉? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
JScript Vs. NodeJS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
结语 ,[object Object],[object Object],[object Object],[object Object],[object Object],05/09/11
References ,[object Object],[object Object],[object Object],05/09/11
05/09/11 Thanks

Mais conteúdo relacionado

Mais procurados

Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Wade Huang
 
Powercli
PowercliPowercli
Powerclihellocn
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC
 
Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝Justin Lin
 
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Justin Lin
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17twMVC
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Alan Tsai
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC
 
ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5twMVC
 
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10twMVC
 
Entity framework + Linq 介紹
Entity framework + Linq 介紹Entity framework + Linq 介紹
Entity framework + Linq 介紹Alan Tsai
 
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史twMVC
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練Joseph Chiang
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練Joseph Chiang
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展江華 奚
 
Dynamic JS Loader
Dynamic JS LoaderDynamic JS Loader
Dynamic JS Loaderfeifeipan
 
Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援Justin Lin
 
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geekJohnson Gau
 
四天学会Ajax
四天学会Ajax四天学会Ajax
四天学会Ajaxmornone
 

Mais procurados (19)

Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 
Powercli
PowercliPowercli
Powercli
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝
 
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 
ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5
 
ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10ASP.NET MVC Model 的設計與使用 twMVC#10
ASP.NET MVC Model 的設計與使用 twMVC#10
 
Entity framework + Linq 介紹
Entity framework + Linq 介紹Entity framework + Linq 介紹
Entity framework + Linq 介紹
 
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
 
Dynamic JS Loader
Dynamic JS LoaderDynamic JS Loader
Dynamic JS Loader
 
Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援
 
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
 
四天学会Ajax
四天学会Ajax四天学会Ajax
四天学会Ajax
 

Destaque

从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型裕波 周
 
彪叔 [2010]webrebuild
彪叔 [2010]webrebuild彪叔 [2010]webrebuild
彪叔 [2010]webrebuild裕波 周
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild裕波 周
 
QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示mysqlops
 
web标准化交流会bobby分享
web标准化交流会bobby分享web标准化交流会bobby分享
web标准化交流会bobby分享裕波 周
 
web标准化交流会上海站bobby分享
web标准化交流会上海站bobby分享web标准化交流会上海站bobby分享
web标准化交流会上海站bobby分享裕波 周
 

Destaque (6)

从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
 
彪叔 [2010]webrebuild
彪叔 [2010]webrebuild彪叔 [2010]webrebuild
彪叔 [2010]webrebuild
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild
 
QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示
 
web标准化交流会bobby分享
web标准化交流会bobby分享web标准化交流会bobby分享
web标准化交流会bobby分享
 
web标准化交流会上海站bobby分享
web标准化交流会上海站bobby分享web标准化交流会上海站bobby分享
web标准化交流会上海站bobby分享
 

Semelhante a 从无阻塞并行脚本加载(Lab.js)到浏览器消息模型

钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会Zhi Zhong
 
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile ServicesKuo-Chun Su
 
Lazyload实践
Lazyload实践Lazyload实践
Lazyload实践Wu tianhao
 
Event proxy introduction
Event proxy introductionEvent proxy introduction
Event proxy introductionmysqlops
 
EventProxy introduction - JacksonTian
EventProxy introduction - JacksonTianEventProxy introduction - JacksonTian
EventProxy introduction - JacksonTianJackson Tian
 
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统Frank Xu
 
Browser vs. Node.js Jackson Tian Shanghai
Browser vs. Node.js   Jackson Tian ShanghaiBrowser vs. Node.js   Jackson Tian Shanghai
Browser vs. Node.js Jackson Tian ShanghaiJackson Tian
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5 Tony Deng
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践taobao.com
 
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsExam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsChieh Lin
 
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Servicesjavatwo2011
 
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoloadjay li
 
網站設計100步
網站設計100步網站設計100步
網站設計100步evercislide
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐zhangsuoyong
 
JavaScript Advanced Skill
JavaScript Advanced SkillJavaScript Advanced Skill
JavaScript Advanced Skillfirestoke
 
拆分初始化负载
拆分初始化负载拆分初始化负载
拆分初始化负载kaven yan
 
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介NodeJS基礎教學&簡介
NodeJS基礎教學&簡介GO LL
 

Semelhante a 从无阻塞并行脚本加载(Lab.js)到浏览器消息模型 (20)

钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会
 
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
 
Lazyload实践
Lazyload实践Lazyload实践
Lazyload实践
 
Event proxy introduction
Event proxy introductionEvent proxy introduction
Event proxy introduction
 
EventProxy introduction - JacksonTian
EventProxy introduction - JacksonTianEventProxy introduction - JacksonTian
EventProxy introduction - JacksonTian
 
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
 
Browser vs. Node.js Jackson Tian Shanghai
Browser vs. Node.js   Jackson Tian ShanghaiBrowser vs. Node.js   Jackson Tian Shanghai
Browser vs. Node.js Jackson Tian Shanghai
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践
 
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsExam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
 
Web base 吴志华
Web base 吴志华Web base 吴志华
Web base 吴志华
 
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services
 
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoload
 
網站設計100步
網站設計100步網站設計100步
網站設計100步
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
 
JavaScript Advanced Skill
JavaScript Advanced SkillJavaScript Advanced Skill
JavaScript Advanced Skill
 
拆分初始化负载
拆分初始化负载拆分初始化负载
拆分初始化负载
 
摘星
摘星摘星
摘星
 
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
 
Berserk js
Berserk jsBerserk js
Berserk js
 

Mais de 裕波 周

前端架构漫谈
前端架构漫谈前端架构漫谈
前端架构漫谈裕波 周
 
Scrum敏捷项目管理
Scrum敏捷项目管理Scrum敏捷项目管理
Scrum敏捷项目管理裕波 周
 
移动设备web重构
移动设备web重构移动设备web重构
移动设备web重构裕波 周
 
重温网站重构
重温网站重构重温网站重构
重温网站重构裕波 周
 
从问题开始,前端,架构、框架与库的实战
从问题开始,前端,架构、框架与库的实战从问题开始,前端,架构、框架与库的实战
从问题开始,前端,架构、框架与库的实战裕波 周
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构裕波 周
 
《一专多长》——Twinsen[梁璟彪]
《一专多长》——Twinsen[梁璟彪]《一专多长》——Twinsen[梁璟彪]
《一专多长》——Twinsen[梁璟彪]裕波 周
 
浏览器兼容性问题简介 --- 黄昊
浏览器兼容性问题简介 --- 黄昊浏览器兼容性问题简介 --- 黄昊
浏览器兼容性问题简介 --- 黄昊裕波 周
 
揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍裕波 周
 
网站重构Whoami ---- 偷米饭
网站重构Whoami ---- 偷米饭网站重构Whoami ---- 偷米饭
网站重构Whoami ---- 偷米饭裕波 周
 
分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军裕波 周
 
javascript的分层概念 --- 阿当
javascript的分层概念 --- 阿当javascript的分层概念 --- 阿当
javascript的分层概念 --- 阿当裕波 周
 

Mais de 裕波 周 (13)

前端架构漫谈
前端架构漫谈前端架构漫谈
前端架构漫谈
 
Scrum敏捷项目管理
Scrum敏捷项目管理Scrum敏捷项目管理
Scrum敏捷项目管理
 
移动设备web重构
移动设备web重构移动设备web重构
移动设备web重构
 
重温网站重构
重温网站重构重温网站重构
重温网站重构
 
从问题开始,前端,架构、框架与库的实战
从问题开始,前端,架构、框架与库的实战从问题开始,前端,架构、框架与库的实战
从问题开始,前端,架构、框架与库的实战
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构
 
Ie9 overview
Ie9 overviewIe9 overview
Ie9 overview
 
《一专多长》——Twinsen[梁璟彪]
《一专多长》——Twinsen[梁璟彪]《一专多长》——Twinsen[梁璟彪]
《一专多长》——Twinsen[梁璟彪]
 
浏览器兼容性问题简介 --- 黄昊
浏览器兼容性问题简介 --- 黄昊浏览器兼容性问题简介 --- 黄昊
浏览器兼容性问题简介 --- 黄昊
 
揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍
 
网站重构Whoami ---- 偷米饭
网站重构Whoami ---- 偷米饭网站重构Whoami ---- 偷米饭
网站重构Whoami ---- 偷米饭
 
分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军
 
javascript的分层概念 --- 阿当
javascript的分层概念 --- 阿当javascript的分层概念 --- 阿当
javascript的分层概念 --- 阿当
 

从无阻塞并行脚本加载(Lab.js)到浏览器消息模型