《Chrome扩展及应用开发》简述了Chrome平台开发的概念、扩展与应用的区别及其常用功能,并结合具体场景给出了实例。主要介绍了Chrome扩展基础、Chrome扩展的UI界面、管理浏览器和部分高级API划分,讲解了文件系统、网络通信、操作USB设备和串口通信等多个与操作系统紧密相关的内容,还介绍了Chrome主题开发、支持国际化的程序开发,以及如何使用Angular框架进行开发。
《Chrome扩展及应用开发》以直观生动的实例帮助读者理解知识要点,以自顶向下的方式进行讲解,让读者先接触最直观的内容,然后慢慢深挖究其本质,非常适合开发者自学。
第1章 初步接触Chrome扩展及应用开发 001
1.1 认识Chrome扩展及应用 002
1.2 应用与扩展的区别 003
1.3 我的第一个Chrome扩展 004
1.4 Manifest文件格式 008
1.5 DOM简述 011
1.6 调试方法与代码质量 013
第2章 Chrome扩展基础 016
2.1 操作用户正在浏览的页面 017
2.2 跨域请求 020
2.3 常驻后台 025
2.4 带选项页面的扩展 027
2.5 扩展页面间的通信 032
2.6 存储数据 034
2.7 i18n 037
第3章 Chrome扩展的UI界面 039
3.1 CSS简述 040
3.1.1 默认样式及box模型 040
3.1.2 元素定位 042
3.1.3 字体及背景颜色 043
3.2 Browser Actions 045
3.2.1 图标 045
3.2.2 popup页面 047
3.2.3 标题和badge 049
3.3 右键菜单 051
3.4 桌面提醒 056
3.5 omnibox 058
3.6 Page Actions 061
第4章 管理你的浏览器 062
4.1 书签 063
4.1.1 创建书签 064
4.1.2 创建书签分类 064
4.1.3 调整书签位置 065
4.1.4 更新书签 065
4.1.5 移除书签 065
4.1.6 获取书签内容 065
4.1.7 书签事件 066
4.2 Cookies 068
4.2.1 管理Cookie 068
4.2.2 读取Cookie 069
4.2.3 设置Cookie 069
4.2.4 删除Cookie 070
4.2.5 获取全部的cookie store 070
4.2.6 监控操作Cookie的行为 071
4.3 历史 071
4.3.1 读取历史 072
4.3.2 添加历史 073
4.3.3 删除历史 074
4.3.4 对历史操作的监听 074
4.4 管理扩展与应用 075
4.4.1 读取用户已安装的扩展和应用的信息 075
4.4.2 获取权限警告 076
4.4.3 启用、禁用、卸载扩展和启动应用 076
4.4.4 对管理操作的监听 077
4.5 标签 078
4.5.1 获取标签信息 078
4.5.2 创建标签 079
4.5.3 更新标签 079
4.5.4 移动标签 080
4.5.5 重载标签 080
4.5.6 移除标签 080
4.5.7 获取当前标签页面的显示语言 081
4.5.8 获取指定窗口活动标签可见部分的截图 081
4.5.9 注入JavaScript和CSS 081
4.5.10 与指定标签中的内容脚本(content script)通信 082
4.5.11 监视标签行为 082
4.6 Override Pages 084
第5章 部分高级API 086
5.1 下载 087
5.2 网络请求 089
5.3 代理 092
5.4 系统信息 095
第6章 Chrome应用基础 098
6.1 更加严格的内容安全策略 099
6.2 图标设计规范 101
6.3 应用的生命周期 103
6.4 应用窗口 106
6.4.1 创建窗口 106
6.4.2 样式更加自由的窗口 109
6.4.3 获取窗口 115
6.4.4 窗口事件 116
6.5 编写第一个Chrome应用 117
第7章 文件系统 125
7.1 目录及文件操作对象 126
7.2 获取目录及文件操作对象 127
7.3 读取文件 128
7.4 遍历目录 130
7.5 创建及删除目录和文件 132
7.6 写入文件 134
7.6.1 Typed Array 134
7.6.2 Blob对象 136
7.6.3 FileWriter对象 137
7.7 复制及移动目录和文件 139
第8章 媒体库 140
8.1 获取媒体库 141
8.2 添加及移除媒体库 146
8.3 更新媒体库 148
8.4 获取媒体文件信息 152
第9章 网络通信 154
9.1 UDP协议 155
9.1.1 建立与关闭连接 156
9.1.2 发送与接收数据 158
9.1.3 多播 160
9.1.4 获取socket和组 162
9.1.5 局域网聊天应用 163
9.2 TCP协议 166
9.2.1 建立与关闭连接 167
9.2.2 发送与接收数据 168
9.2.3 获取socket 170
9.3 TCP Server 170
9.3.1 建立与关闭连接 171
9.3.2 监听数据 173
9.3.3 获取socket 174
9.3.4 HTTP Server 175
9.4 WebSocket 178
第10章 其他接口 179
10.1 操作USB设备 180
10.1.1 发现设备 180
10.1.2 接口操作 181
10.1.3 传输操作 182
10.2 串口通信 183
10.2.1 建立连接 183
10.2.2 发送和接收数据 184
10.2.3 获取连接及状态 185
10.3 文字转语音 185
10.3.1 朗读文字 186
10.3.2 获取声音 187
10.3.3 获取朗读状态并监听事件 188
10.4 系统信息 189
附录A 制作Chrome主题 191
A.1 背景图片 193
A.2 颜色 198
A.3 颜色叠加 205
A.4 UI属性 206
A.5 使用My Chrome Theme制作主题 209
附录B CSS选择器 212
B.1 基本选择器 213
B.2 高级选择器 215
B.3 伪类 216
附录C 初识AngularJS 220
C.1 视图 221
C.2 $scope 224
C.3 module与路由 225
附录D Chrome扩展及应用的完整API列表 229
D.1 Chrome扩展的全部API 230
D.2 Chrome应用的全部API 235
——吴英炳,Google高级软件工程师
“本书系统化地介绍了Chrome平台的扩展构架和机制,通过实际可执行的代码由浅入深地介绍了如何完整地开发Chrome 扩展。通过阅读本书,读者对W3C标准将会有更细致的理解,并且可以“零距离”地观摩大型技术平台对规范与标准的实现。对正在或有志于从事互联网行业的开发者而言,这将是一个非常良好的学习体验。”——舒文,天猫前端技术专家