具体描述
本书简述了Chrome平台开发的概念、扩展与应用的区别及其常用功能,并结合具体场景给出了实例。主要介绍了Chrome扩展基础、Chrome扩展的UI界面、管理浏览器和部分高级API划分,讲解了文件系统、网络通信、操作USB设备和串口通信等多个与操作系统紧密相关的内容,还介绍了Chrome主题开发、支持国际化的程序开发,以及如何使用Angular框架进行开发。
本书以直观生动的实例帮助读者理解知识要点,以自顶向下的方式进行讲解,让读者先接触最直观的内容,然后慢慢深挖究其本质,非常适合开发者自学。
作者简介
李喆
网名Sneezry,Chrome扩展及应用开发者,吉林大学电子科学与工程学院在读硕士,现研究方向为计算机视觉的硬件实现。喜欢小动物,养有一只智利狼蛛作为宠物。
目录信息
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
· · · · · · (收起)
读后感
用户评价
这本书的内容深度和广度都超出了我最初的预期,尤其是在软件工程实践方法论的论述上,展现出了作者深厚的行业积累和前瞻性的思考。它不仅仅停留在API的罗列和功能的堆砌上,而是深入剖析了构建大型、可维护性强的前端应用所必须面对的挑战,比如状态管理在跨模块协作中的演进路径,以及如何设计一套健壮的错误处理和日志记录机制,这些都是教科书上往往一带而过但实际开发中至关重要的环节。作者在讨论异步操作的处理模式时,并没有简单地推荐某一种框架内置的解决方案,而是追溯了回调地狱到Promise再到async/await的演变历史,并结合性能优化的角度,讨论了不同处理方式的内存占用和执行效率差异。这种‘知其然,更知其所以然’的讲解方式,极大地提升了读者的底层认知能力。此外,书中关于性能调试和用户体验(UX)指标量化的章节,提供了许多可操作的度量工具和分析框架,帮助开发者跳出“感觉快了”的主观判断,转向基于客观数据的改进方向,这种务实的态度令人耳目一新。
这本书的排版设计给我留下了非常深刻的印象,可以说是市面上少有的用心之作。首先,纸张的质感就让人感觉非常舒适,拿在手里沉甸甸的,不是那种廉价的、一翻就容易卷边的纸张。装帧的工艺也看得出是精益求精,无论是书脊的粘合度还是封面烫金的细节处理,都透露着一种低调的品质感。内容呈现上,作者似乎非常注重阅读体验,章节的划分清晰明了,每当涉及到复杂概念的讲解时,都会适当地穿插一些高质量的插图或流程图,这些图表并非简单的装饰,而是真正帮助理解底层逻辑的关键辅助工具。尤其值得称赞的是,代码示例的字体选择和高亮处理非常专业,即便是长时间阅读,眼睛也不会感到疲劳。在排版间距的拿捏上也做得恰到好处,既保证了信息的密度,又留出了足够的留白,让读者的大脑有喘息的空间去消化吸收新知识。这种对细节的极致追求,使得阅读过程变成了一种享受,而不是负担,让我在面对那些原本可能枯燥的技术细节时,也能保持极高的专注度和愉悦感。整体而言,这是一本从物理层面就体现了“匠心”精神的技术书籍,对于注重阅读体验的深度学习者来说,光是翻阅它本身就是一种享受。
这本书在工具链和生态系统的介绍方面,表现出了惊人的时效性和前瞻性,这在快速迭代的技术领域尤为重要。许多技术书籍的内容一旦出版,可能很快就会落后于业界最新的发展,但这本书似乎在内容选择上做了精心的权衡,既涵盖了经典且稳定的核心技术,也敏锐地捕捉到了新兴趋势的风向标。它没有盲目追逐每一个热门的库,而是对当前主流工具的优劣势进行了冷静、客观的对比分析,特别是关于构建工具和打包优化的讨论,提供了不同配置方案下的实际性能测试数据,而不是停留在口头上的赞美或贬低。作者对于开源社区的动态有着深刻的理解,提到了几个在社区中讨论热烈但尚未完全被主流采纳的新特性,并分析了它们被大规模采用的可能性和潜在风险。这种既脚踏实地又抬头看天的视野,使得这本书的价值得以长期保持,它更像是一份长期的学习地图,而非短期速查手册,为读者提供了在未来几年内指导技术选型的可靠参照系。
我必须承认,这本书的叙事风格非常独特,它成功地将枯燥的技术概念包装成了一系列引人入胜的故事线,有效地打破了技术书籍通常给人留下的严肃刻板印象。作者似乎非常擅长运用类比和比喻,将复杂的架构模式比作现实生活中的组织结构或交通系统,使得初学者也能迅速捕捉到核心思想。例如,在讲解数据流向时,作者构建了一个“信息驿站”的模型,生动形象地描绘了数据在不同组件间传递、转换和缓存的过程,比单纯看数据流图清晰百倍。更难能可贵的是,书中充满了作者在实际项目中踩过的“坑”,这些真实的失败案例不仅提供了教训,更展现了作者的谦逊和反思精神。每一个“陷阱”的描述都非常详尽,从现象、原因分析到最终的解决方案,形成了一个完整的闭环,这比直接学习标准答案要深刻得多。这种以故事驱动、以经验为核心的写作手法,极大地增强了阅读的粘性,让我在不知不觉中就读完了那些通常需要强打精神才能攻克的难关,阅读体验非常流畅和愉悦。
我特别欣赏这本书在理论与实践之间的平衡艺术,它避免了陷入纯粹的理论空谈,也拒绝成为一本简单的“操作手册”。作者显然认为,真正的掌握源于对底层原理的理解和在实际场景中的灵活运用,因此,书中精心设计了数个贯穿全书的、复杂度递增的综合项目案例。这些案例不是简单的“Hello World”级别,而是模拟了企业级应用的需求,比如需要处理高并发数据、集成第三方服务,或者需要应对复杂的权限控制等。在每一个案例的推进过程中,作者都会清晰地指出当前阶段需要应用哪些设计模式和技术栈,并且详尽解释了做出这种选择背后的权衡(Trade-offs)。这种结构使得知识的学习不再是碎片化的,而是被有效地组织在具体的应用背景之下。读者可以清晰地看到,一个看似抽象的架构概念,是如何在解决实际问题时发挥作用的,这极大地增强了知识的可迁移性,让人学完之后,真的有能力立即上手构建起自己的复杂项目。
https://wenku.baidu.com/view/8f81e3cebd64783e08122b0e.html 百度文库中的一本书, 很多例子都是在GitHub上直接可以下载的
谁叫国内就这么几本呢?
本身插件开发很简单,书中的api调用有些已经过时了
CSS,JS缺不了啊
2019#91 阅读原因:工作需要 开发前端拓展 阅读结论:没有预期的收获,书籍太老,现在chrome app也废弃,PWA到来(浪费了一两天研究Chrome app及扩展交互),只能感慨变化太快