SlideShare une entreprise Scribd logo
1  sur  36
编辑器技术分享
 百度前端工程师:战毅
主题

• 现代富文本编辑器的组成要素
• UEditor 设计理念和架构介绍
• UEditor 核心功能点详解
• UEditor 后续作业
编辑器组成要素
编辑器组成要素
思考你认为的要素点有那些
编辑操作
• 浏览器原生提供的接口
 • 实现: document.execCommand
 • 优势:代码小,速度快
 • 缺点: bug 不可悾,功能少,兼容性差
 • 项目: xheditor,kindeditor
• 用 JS 实现原生接口
 • 实现: dom Range
 • 优势: bug 可控,任意扩展,兼容性好
 • 缺点:代码稍大,性能有损耗
 • 项目: ueditor,ckeditor,tinymce
• 用 JS 实现显示选区
 • 实现: dom Range + html
 • 优势:展示可控, bug 可控,扩展随
  意,兼容性可控

 • 缺点:代码大,性能很差,准确性差
 • 项目: google docs,weboffice
状态反射
• 定义
 • 对于用户的各类操作,要在界面上给
  与用户一个反馈,与用户产生交互
• 实现
 • 注册一系列原生事件
  ( keydown,keyup,mouseup,mousedown
  等),组合成 selectionchange 事件
过滤机制
• 对进入编辑器的内容进行过滤
• 对编辑器提交的内容进行过滤
• 实现
 • 简单 html 字符串过滤输出
 • 解析 html 成 nodeTree ,再进行过滤,
  然后在解析回 html 输入
键盘监听
• 文字录入类型( 0-9 , a-z )
• 特殊功能键
 ( ctrl,shift,alt,command,tab,enter,delete,b
 ackspace)
UI 界面
• dialog,tooltip,button,combox,dropmenu,to
  olbar 等等
UEditor 介绍
设计背景

• 不同的产品线有着完全不同的展示风
 格,需要不同的 ui 来支持
• 需要可控的底层代码
• 功能可以满足产品线
整体架构
      界面 UI
  (UI 组件,桥接 )




    组件 plugins
( 操作命令 , 提供功能 )




    核心 core
(domRange,domUtils)
目录结构
•   _examples 各种展示页面


•   _src 是拆分的源码

•   dialogs 是各种弹出窗口


•   php 后台程序


•   themes 样式


•   third-party 第三方的插件


•   editor_config.js 全局配置文件


•   editor_all/min 是 src 下的所有整合文件
编辑命令
•   execCommand

    •   针对当前选区执行操作命令

•   queryCommandState

    •   根据当前选区返回执行命令的状态

    •   1 执行过, 0 为执行, -1 不可执行

• queryCommandValue
    •   根据当前选区返回跟执行命令相关的值
事件机制

• 通过注册事件,来影响编辑器的进程

• contentchange,selectionchange,afterpaste
定制加载

•   所有功能都可以按需定
    制打包下载

•   界面也可以定制画出




•   http://ueditor.baidu.com/website/ipanel/panel.html#
核心功能实现
编辑命令
html 语义化

• 是遍历 dom 树的准则
• 封装成 json 对象
• 可以查看 _src/core/dom/dtd.js
domRange

•   组成

     •   startContainer 开始所属的节点( element/textNode)

     •   startOffset 在开始节点中的偏移位置

     •   endContainer 结束所属的节点( element/textNode)

     •   endOffset 在结束节点中的偏移位置

     •   collapsed 闭合状态吗

     •   document range 所属的 document
domRange
•   实现加粗操作

    •   做标记记录当前选区

    •   从开始位置遍历 dom 树

    •   遍历的过程中添加加粗标
        签

    •   遍历结束,通过标记选中
        原来的选区
domRange


• 通过 domRange 来扩展我们操作节点的能
 力
过滤机制

• html 转换成 nodeTree( 补全和 dtd 修
 正 ,word 内容过滤)
• 对 nodeTree 进行过滤(黑白名单,节点
 转换)
• nodeTree 转换成 html
状态反射

•   查询原则:只以选区的开始为基准(性能原
    因)

•   实现:取得开始节点和他的所有父亲节点一直
    到 body 缓存起来,然后每个命令会查询缓存节
    点树看是否跟自己有关

•   触发时机:鼠标点击,键盘操作(会稀释)
键盘监控


• keydown,keyup 要分别监控处理
后续作业
• 公式编辑器(开发结束)
• pad 版本
• minUeditor
• 国际化(开发中)
谢谢

      QQ : 501656974
email : zhanyi01@baidu.com

Contenu connexe

Tendances

前端MVVM框架安全
前端MVVM框架安全前端MVVM框架安全
前端MVVM框架安全Borg Han
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例Will Huang
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式Will Huang
 
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行Blazor 與 Radzen 同行
Blazor 與 Radzen 同行Jimmy Ho
 
Class 20170126
Class 20170126Class 20170126
Class 20170126Ivan Wei
 
Koa 正在等一個人
Koa 正在等一個人Koa 正在等一個人
Koa 正在等一個人Fred Chien
 
CP 值很高的 Gulp
CP 值很高的 GulpCP 值很高的 Gulp
CP 值很高的 GulpYvonne Yu
 
Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程洧杰 廖
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程Simon Su
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧Chu-Siang Lai
 
编辑器设计2
编辑器设计2编辑器设计2
编辑器设计2yiming he
 
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介NodeJS基礎教學&簡介
NodeJS基礎教學&簡介GO LL
 
浅析浏览器解析和渲染
浅析浏览器解析和渲染浅析浏览器解析和渲染
浅析浏览器解析和渲染Ailsa126
 
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Will Huang
 
Web coding principle
Web coding principleWeb coding principle
Web coding principleZongYing Lyu
 
QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战dennis zhuang
 
Node develop expirements
Node develop expirementsNode develop expirements
Node develop expirementsaleafs
 
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹wantingj
 

Tendances (20)

前端MVVM框架安全
前端MVVM框架安全前端MVVM框架安全
前端MVVM框架安全
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
 
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行Blazor 與 Radzen 同行
Blazor 與 Radzen 同行
 
Class 20170126
Class 20170126Class 20170126
Class 20170126
 
Koa 正在等一個人
Koa 正在等一個人Koa 正在等一個人
Koa 正在等一個人
 
CP 值很高的 Gulp
CP 值很高的 GulpCP 值很高的 Gulp
CP 值很高的 Gulp
 
Maven & mongo & sring
Maven & mongo & sringMaven & mongo & sring
Maven & mongo & sring
 
Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程
 
Node分享 展烨
Node分享 展烨Node分享 展烨
Node分享 展烨
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
 
编辑器设计2
编辑器设计2编辑器设计2
编辑器设计2
 
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
 
浅析浏览器解析和渲染
浅析浏览器解析和渲染浅析浏览器解析和渲染
浅析浏览器解析和渲染
 
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
 
Web coding principle
Web coding principleWeb coding principle
Web coding principle
 
QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战
 
Node develop expirements
Node develop expirementsNode develop expirements
Node develop expirements
 
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
 

En vedette

Taobao vs. eBay - The battle within the Chinese eCommerce market
Taobao vs. eBay - The battle within the Chinese eCommerce marketTaobao vs. eBay - The battle within the Chinese eCommerce market
Taobao vs. eBay - The battle within the Chinese eCommerce marketYannick Pinkinelli
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台taobao.com
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践taobao.com
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构taobao.com
 
【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践taobao.com
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
box model
box modelbox model
box modeljay li
 
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Dexter Yang
 
浅谈 Javascript 性能优化
浅谈 Javascript 性能优化浅谈 Javascript 性能优化
浅谈 Javascript 性能优化rainoxu
 
Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览rainoxu
 
通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具Dexter Yang
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Dexter Yang
 
Git 零基础介绍
Git 零基础介绍Git 零基础介绍
Git 零基础介绍Ethan Zhang
 
新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践Dexter Yang
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会Joseph Chiang
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014Yubei Li
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程zhangdaiping
 

En vedette (20)

Taobao
TaobaoTaobao
Taobao
 
Taobao vs. eBay - The battle within the Chinese eCommerce market
Taobao vs. eBay - The battle within the Chinese eCommerce marketTaobao vs. eBay - The battle within the Chinese eCommerce market
Taobao vs. eBay - The battle within the Chinese eCommerce market
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构
 
【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
box model
box modelbox model
box model
 
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
 
浅谈 Javascript 性能优化
浅谈 Javascript 性能优化浅谈 Javascript 性能优化
浅谈 Javascript 性能优化
 
Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览
 
通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具通用JS时代的模块机制和编译工具
通用JS时代的模块机制和编译工具
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)
 
Git 零基础介绍
Git 零基础介绍Git 零基础介绍
Git 零基础介绍
 
新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践
 
Walmart
WalmartWalmart
Walmart
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程
 
Node way
Node wayNode way
Node way
 

Similaire à 编辑器设计U editor

前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关jay li
 
Comment System of 56.com
Comment System of 56.comComment System of 56.com
Comment System of 56.comHo Kim
 
前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇keelii
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計Amigo 陳兆祥
 
GitLab—the new workbench
GitLab—the new workbenchGitLab—the new workbench
GitLab—the new workbenchtblanlan
 
Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)Pu Shiming
 
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网构建可维护的Javascript 小米网
构建可维护的Javascript 小米网yang alex
 
Kindeditor 设计思路
Kindeditor 设计思路Kindeditor 设计思路
Kindeditor 设计思路luolonghao
 
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践丁 宇
 
Kindeditor设计思路v2
Kindeditor设计思路v2Kindeditor设计思路v2
Kindeditor设计思路v2luolonghao
 
Web development with zend framework
Web development with zend frameworkWeb development with zend framework
Web development with zend frameworkthinkinlamp
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训青帅 常
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild裕波 周
 
石玉磊 Web rebuild
石玉磊 Web rebuild石玉磊 Web rebuild
石玉磊 Web rebuildWebrebuild
 
愛創小小聚201307 小強分享
愛創小小聚201307 小強分享愛創小小聚201307 小強分享
愛創小小聚201307 小強分享iTrEnD
 
Git 使用介绍
Git 使用介绍Git 使用介绍
Git 使用介绍medcl
 

Similaire à 编辑器设计U editor (20)

OPM
OPMOPM
OPM
 
前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关
 
Fl介绍
Fl介绍Fl介绍
Fl介绍
 
Comment System of 56.com
Comment System of 56.comComment System of 56.com
Comment System of 56.com
 
前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
 
GitLab—the new workbench
GitLab—the new workbenchGitLab—the new workbench
GitLab—the new workbench
 
Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)
 
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
 
Kindeditor 设计思路
Kindeditor 设计思路Kindeditor 设计思路
Kindeditor 设计思路
 
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
 
Kindeditor设计思路v2
Kindeditor设计思路v2Kindeditor设计思路v2
Kindeditor设计思路v2
 
Web development with zend framework
Web development with zend frameworkWeb development with zend framework
Web development with zend framework
 
Docker一期培训
Docker一期培训Docker一期培训
Docker一期培训
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild
 
石玉磊 Web rebuild
石玉磊 Web rebuild石玉磊 Web rebuild
石玉磊 Web rebuild
 
愛創小小聚201307 小強分享
愛創小小聚201307 小強分享愛創小小聚201307 小強分享
愛創小小聚201307 小強分享
 
Git 使用介绍
Git 使用介绍Git 使用介绍
Git 使用介绍
 
Meteor
MeteorMeteor
Meteor
 

Plus de taobao.com

百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践taobao.com
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical enginetaobao.com
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏taobao.com
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索taobao.com
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索taobao.com
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现taobao.com
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考taobao.com
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践taobao.com
 
前端Mvc探讨及实践
前端Mvc探讨及实践前端Mvc探讨及实践
前端Mvc探讨及实践taobao.com
 
黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margin黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margintaobao.com
 
何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobao何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobaotaobao.com
 
西乔:理性的设计
西乔:理性的设计西乔:理性的设计
西乔:理性的设计taobao.com
 
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲taobao.com
 
More weapons, more power
More weapons, more powerMore weapons, more power
More weapons, more powertaobao.com
 
无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3taobao.com
 
【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践taobao.com
 
【前端Mvc】mvc behind-alphatown
【前端Mvc】mvc behind-alphatown【前端Mvc】mvc behind-alphatown
【前端Mvc】mvc behind-alphatowntaobao.com
 
开放时代:从Web page到web app
开放时代:从Web page到web app开放时代:从Web page到web app
开放时代:从Web page到web apptaobao.com
 

Plus de taobao.com (18)

百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical engine
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践
 
前端Mvc探讨及实践
前端Mvc探讨及实践前端Mvc探讨及实践
前端Mvc探讨及实践
 
黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margin黄希彤:【无障碍访问】Margin
黄希彤:【无障碍访问】Margin
 
何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobao何一鸣:【无障碍访问】Aria in taobao
何一鸣:【无障碍访问】Aria in taobao
 
西乔:理性的设计
西乔:理性的设计西乔:理性的设计
西乔:理性的设计
 
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
杨永全:【组障碍访问】一个盲人眼中的网页内容无障碍体验与设计 大纲
 
More weapons, more power
More weapons, more powerMore weapons, more power
More weapons, more power
 
无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3
 
【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践【前端Mvc】之豆瓣说实践
【前端Mvc】之豆瓣说实践
 
【前端Mvc】mvc behind-alphatown
【前端Mvc】mvc behind-alphatown【前端Mvc】mvc behind-alphatown
【前端Mvc】mvc behind-alphatown
 
开放时代:从Web page到web app
开放时代:从Web page到web app开放时代:从Web page到web app
开放时代:从Web page到web app
 

编辑器设计U editor