搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Chrome扩展及应用开发
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115368669
  • 作      者:
    李喆编著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2014
收藏
编辑推荐
  国内第一本介绍Chrome扩展及应用的书
  第一本诞生于图灵社区的书
  电子书在各大社区受到一致好评
  带你“零距离”地观摩大型技术平台对规范与标准的实现
  让你灵活运用扩展装备浏览器,巧妙借助HTML5创建自己的桌面应用
  《Chrome扩展及应用开发》是第一本讲解如何开发Chrome扩展和应用的系统教程。全书共十章,分为两大部分,分别是扩展和应用。本书由浅入深,条理清晰,非常适合初学者自学。本书提供了大量实例,并结合实例详细生动地讲解相关知识在实践中的应用,加深读者对知识的理解。
展开
作者简介
  李喆,网名Sneezry,Chrome扩展及应用开发者,吉林大学电子科学与工程学院在读硕士,现研究方向为计算机视觉的硬件实现。喜欢小动物,养有一只智利狼蛛作为宠物。
展开
内容介绍

  《Chrome扩展及应用开发》简述了Chrome平台开发的概念、扩展与应用的区别及其常用功能,并结合具体场景给出了实例。主要介绍了Chrome扩展基础、Chrome扩展的UI界面、管理浏览器和部分高级API划分,讲解了文件系统、网络通信、操作USB设备和串口通信等多个与操作系统紧密相关的内容,还介绍了Chrome主题开发、支持国际化的程序开发,以及如何使用Angular框架进行开发。
  《Chrome扩展及应用开发》以直观生动的实例帮助读者理解知识要点,以自顶向下的方式进行讲解,让读者先接触最直观的内容,然后慢慢深挖究其本质,非常适合开发者自学。

展开
精彩书评
  “Chrome Extension和Chrome App是Chrome和Chrome OS平台上的开发方法,之前火爆的火车票抢票工具就是基于此开发的。本书是国内第一本介绍这项技术的书,它特别适合入门新手和想快速了解该技术的专家们。特别难得的是,书中的示例都在GitHub上,读者可以直接在开源平台上与作者切磋。”

  ——吴英炳,Google高级软件工程师


  “本书系统化地介绍了Chrome平台的扩展构架和机制,通过实际可执行的代码由浅入深地介绍了如何完整地开发Chrome 扩展。通过阅读本书,读者对W3C标准将会有更细致的理解,并且可以“零距离”地观摩大型技术平台对规范与标准的实现。对正在或有志于从事互联网行业的开发者而言,这将是一个非常良好的学习体验。”
  ——舒文,天猫前端技术专家


展开
精彩书摘
  认识Chrome扩展及应用
  Chrome是Google公司基于WebKit开发的一款浏览器[1],但从某种角度上来说,它的作用已经远远超越了浏览器,而是成为了一个平台,甚至是一个操作系统。Chrome继承了WebKit内核对HTML的高速渲染,同时Google自行开发的V8引擎使得JavaScript在Chrome中的执行效率大幅提升,这使得更加高级复杂的JavaScript程序在Chrome中运行成为可能。
  Chrome浏览器除了页面渲染速度快、JavaScript执行速度快以外,另一大特点就是支持开发者为其编写各种各样的扩展来扩充其功能,支持用HTML5编写桌面程序,这使得Chrome变得更加强大。编写这样的程序就是本书所要讲解的内容。
  由于Chrome扩展和Chrome应用有很多相似之处,为了叙述方便,本章会统一说成Chrome扩展,但读者应该清楚,这些内容同样适用于Chrome应用。
  Chrome扩展是一系列文件的集合,这些文件包括HTML文件、CSS样式文件、JavaScript脚本文件、图片等静态文件以及manifest.json。个别扩展还会包含二进制文件,如DLL动态库和so动态库等,但这需要调用NPAPI,而Google出于安全性考虑,已经决定逐渐淘汰NPAPI,所以本书不会向大家介绍有关NPAPI的内容。
  安装扩展后,Chrome就会读取扩展中的manifest.json文件。这个文件的文件名固定为manifest.json,内容是按照一定格式描述的扩展相关信息,如扩展名称、版本、更新地址、请求的权限、扩展的UI界面入口,等等。这样Chrome就可以知道在浏览器中如何呈现这个扩展,以及这个扩展如何同用户进行交互。
  由于Chrome扩展是基于Chrome平台的,说得直白些,是基于WebKit浏览器的——当然有些更加高级的接口不仅仅依赖于WebKit浏览器——所以Chrome扩展在处理逻辑运算和实现程序功能时,所采用的编程语言必然只能是JavaScript。
  可能你会感到惊讶,毕竟JavaScript最开始是为提升网站与用户交互体验而设计的一种轻量级脚本语言,怎么会脱离网站而成为一种程序的逻辑语言呢?随着Chrome浏览器V8引擎的出现,JavaScript的执行效率得到了大幅提升,甚至出现了将其作为后端语言的项目——Node.js,所以将JavaScript作为一种客户端程序语言就更是绰绰有余了——只要提供更加丰富的功能函数——而Chrome平台恰好提供了这样的环境。
  总的来说,Chrome扩展更像是一个运行于本地的网站,只是它可以利用Chrome平台提供的丰富的接口,获得更加全面的信息,进行更加复杂的操作。而它的界面则使用HTML和CSS进行描述,这样的好处是可以在很短的时间内构建出赏心悦目的UI。界面的渲染完全不需要开发者操心,可以交给Chrome去做。同时,由于JavaScript是一门解释型语言(现代浏览器使用的JavaScript引擎会对JavaScript进行编译,如V8),无需对其配置编译器,因此调试代码时,你只要刷新一下浏览器就可以看到修改后的结果,这使得开发周期大大缩短。
  同时,Chrome浏览器比Java虚拟机、Python解释器(Linux和OSX中默认安装了Python,而Windows中默认没有安装)等其他语言环境更加普及——我甚至可以在我们学校图书馆的计算机中找到Chrome浏览器——所以你所开发的Chrome扩展可以在更多的计算机中运行。当你遇到一个问题需要利用计算机去处理时,而这台计算机恰好安装了Chrome浏览器,那么你就可以欢快地打开记事本开始编写程序了,完成之后加载到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

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证