新書推薦:

《
余下只有噪音:聆听20世纪(2025)
》
售價:HK$
206.8

《
如何将知识转化为行动
》
售價:HK$
76.8

《
助人技术本土化的刻意练习
》
售價:HK$
87.9

《
中国城市科创金融指数·2024
》
售價:HK$
107.8

《
你想活出怎样的人生:摆渡船上的人生哲学
》
售價:HK$
65.9

《
中国历代户口、田地、田赋统计——梁方仲著作集
》
售價:HK$
148.5

《
反乌合之众——跳出羊群,逆向获利
》
售價:HK$
76.8

《
帝国作为装饰品:英国人眼中的大英帝国(帝国与国际法译丛)
》
售價:HK$
86.9
|
編輯推薦: |
创新技术:利用最新的Manifest V3,打造更快、更安全的浏览器插件。
全方位教程:从基础到高级,详尽的教程助你成为浏览器插件开发专家。
实战应用:结合现代开发工具,快速上手并实现你的插件创意。
|
內容簡介: |
本书是一本全面深入的浏览器插件开发教程,旨在帮助读者理解并掌握创建功能强大的浏览器插件的技术和方法。本书不仅详细介绍了插件开发的理论知识,同时还提供了丰富的实战代码,使读者能够通过实际操作来巩固和提升技能。
全书共12章。第1~3章为背景与理论介绍,包括浏览器发展背景介绍、Chrome浏览器插件基础以Manifest新特性的介绍,如service-worker、declarativeNetRequest API、promise等。第4~11章则是每个知识点的分章节介绍,包括插件的基本架构、弹出界面与配置界面详解、内容组件详解、background脚本详解、权限详解、浏览器扩展API详解、网络通信等内容,每章都配有对应的实战代码,使理论知识得到实际应用。最后的第12章是项目实战,通过完整的项目案例,帮助读者快速上手,将前面学习的知识融会贯通。
本书的特色在于它理论与实战并重的教学方式。每章的理论介绍都配备了对应的实战代码,使读者可以在理解原理的同时,通过编写和测试代码来提升技能。这种强调实践的方法,使本书成为那些希望快速上手浏览器插件开发的读者的理想选择。无论你是初学者,还是有一定基础想要进一步提升的开发者都能从本书中获益。
|
關於作者: |
乔凯,AI技术专家,十余年科研与互联网行业从业经验,致力于AI产品创新,深耕语音、大模型、多模态领域,9年专业开发与设计经验,研究方向包括云原生架构、分布式、微服务等,致力于AI的工程与产品商业化落地。
|
目錄:
|
第1章浏览器插件发展背景概述(22min)
1.1引言
1.1.1互联网和浏览器的早期发展
1.1.2浏览器技术的关键发展
1.2浏览器插件的起源和发展历程
1.2.1使用插件自定义软件
1.2.2原生浏览器插件
1.2.3从浏览器附加组件到扩展
1.3浏览器扩展领域概览
1.3.1移动应用程序与浏览器扩展的比较
1.3.2浏览器扩展商店
1.3.3浏览器扩展的类型
1.4本章小结
第2章Chrome浏览器插件基础(26min)
2.1现代浏览器架构
2.1.1浏览器的核心组成
2.1.2功能分层
2.1.3多进程架构
2.2浏览器及插件模型
2.2.1浏览器模型
2.2.2浏览器的标签页
2.2.3浏览器插件模型
2.3插件的工作原理
2.3.1插件的架构
2.3.2事件和通信模型
2.3.3同源策略
2.4插件开发的基本概念
2.4.1Manifest V3
2.4.2Manifest V3 基本组成部分
2.5本章小结
第3章Manifest新特性介绍(24min)
3.1浏览器插件的发展愿景
3.1.1Webby模型
3.1.2权限模型
3.1.3隐私
3.1.4安全性
3.1.5性能
3.1.6Webbiness
3.2主要新特性详解
3.2.1Service Worker
3.2.2网络请求调整
3.2.3远程资源访问限制
3.2.4Promise
3.3本章小结
第4章快速上手(14min)
4.1创建清单文件
4.2安装扩展
4.3重新加载扩展
4.4添加后台脚本
4.5添加弹出页面
4.6添加选项页面
4.7添加内容脚本
4.8添加开发者工具面板
4.9本章小结
第5章Manifest详解(22min)
5.1清单文件
5.2国际化与模式匹配
5.2.1国际化配置
5.2.2模式匹配
5.3Manifest 属性
5.3.1必填属性
5.3.2推荐属性
5.4本章小结
第6章权限详解(27min)
6.1浏览器插件权限的基本概念
6.1.1浏览器权限模型
6.1.2浏览器插件权限模型
6.1.3声明式授权与命令式授权
6.1.4权限检查
6.1.5可选权限
6.1.6主机权限
6.2深入理解浏览器插件权限
6.2.1插件权限的生命周期
6.2.2理解与管理浏览器插件权限
6.3权限列表
6.4本章小结
第7章Popup and Option Page(16min)
7.1基本概念
7.1.1角色定位
7.1.2弹出页面与配置页面的区别
7.2弹出页面
7.2.1弹出页面
7.2.2弹出页面的设计原则
7.2.3开发弹出页面的常用操作
7.2.4常见的弹出页面使用建议
7.3配置页面
7.3.1配置页面介绍
7.3.2配置页面的设计原则
7.3.3开发配置页面的常用操作
7.3.4常见的配置页面建议
7.4本章小结
第8章Content(24min)
8.1深入理解内容脚本
8.1.1什么是内容脚本
8.1.2创建第1个内容脚本文件
8.1.3内容脚本的隔离性
8.1.4扩展API的访问
8.1.5脚本注入
8.1.6与共享页面通信
8.2模块化
8.2.1动态导入
8.2.2打包
8.2.3模块加载库
8.2.4转译
8.3特殊的属性
8.4与网页交互的范式
8.4.1文章阅读时间生成器
8.4.2沉浸式阅读模式
8.4.3对话助手界面生成
8.5本章小结
第9章Background脚本(18min)
9.1Service Worker
9.1.1Service Worker简介
9.1.2插件Service Worker
9.1.3Service Worker与Web Service Worker的异同
9.2核心概念
9.2.1插件的Service Worker生命周期
9.2.2插件Service Worker的事件
9.3Service Worker的常用模式
9.3.1事件处理器
9.3.2消息总线
9.3.3存储管理
9.3.4认证与密钥
9.3.5强制Service Worker活跃
9.3.6网络流量监控
9.3.7安装与事件更新
9.3.8Opening Tab
9.3.9脚本注入
9.4本章小结
第10章扩展与浏览器API(25min)
10.1快速预览
10.1.1基本概念
10.1.2深入理解WebExtensions API
10.1.3浏览器扩展的关键因素
10.2关键功能
10.2.1网络请求
10.2.2隐私
10.2.3idle
10.2.4DevTools
10.2.5扩展管理
10.2.6系统状态
10.3本章小结
第11章网络(13min)
11.1网页与浏览器插件的比较
11.1.1源
11.1.2API
11.1.3Remote assets
11.1.4页面类型
11.1.5服务器端请求
11.1.6认证
11.1.7长请求
11.2浏览器插件的网络架构
11.2.1选项页
11.2.2弹出和开发者工具页
11.2.3内容脚本
11.2.4服务工作线程
11.3浏览器插件网络API
11.3.1WebNavigation API
11.3.2WebRequest API
11.3.3DeclarativeNetRequest API
11.4本章小结
第12章项目实战
12.1基础知识
12.1.1Node.js
12.1.2TypeScript
12.1.3CSS预处理语言
12.1.4静态规则集
12.1.5动态规则集
12.2框架与工具
12.2.1JavaScript框架
12.2.2Vue 3
12.2.3Vite 5
12.3快速上手
12.4本章小结
|
內容試閱:
|
在这个信息爆炸的时代,浏览器已经成为人们获取知识、沟通交流、工作与娱乐的重要门户。浏览器插件作为这个门户的自定义工具,通过增加新的功能或特性,极大地丰富了我们的网络体验。从早期的网景浏览器到今天的Chrome,浏览器的演进历程就是互联网发展的缩影。
一开始浏览器仅是一个简单的信息查阅工具,而如今随着AI技术的进步,尤其是ChatGPT等大型语言模型的出现,我们已经进入了全新的智能时代,在这个时代,浏览器插件不再只是简单的工具,它们被赋予了更复杂、更智能的功能,如Monica、ChatGPT for Google等扩展,它们正在改变我们与网络内容的互动方式。例如,Shulex Copilot这样的浏览器插件结合了AI技术,为电商提供了前所未有的数据分析能力,而Evernote Web Clipper则让信息的收集和整理变得十分简单。这些插件不仅增强了功能,更提高了效率,改善了用户体验。浏览器插件已经转变为一个强大的平台,能够通过各种插件和扩展,实现高度定制化的用户体验。
在本书的编写过程中,笔者面临着资料混杂的挑战——自2009年谷歌公司推出浏览器插件平台至今市面上没有系统地介绍如何开发插件的书籍,现有的资料零散、繁杂且都缺乏更新。正是在这种背景下,笔者边实践边写作,将个人的探索和总结凝结成书,可以说,书中的每一页都蕴含着笔者的汗水和智慧。笔者不仅提供了理论基础,更通过亲身实践的案例,展示了如何将抽象的概念转换为实际可行的解决方案。
本书将从实战出发分三部分详细介绍浏览器插件开发。首先,第1~3章侧重于理论基础,为后续的实战做好充分的铺垫。这部分会详细介绍浏览器插件的基本原理,包括插件的工作机制、开发环境的搭建及一些核心的编程概念。虽然这部分内容可能相对抽象,但是它们是理解后续实战内容的必要基础。接下来,第4~11章以模块化的方式,结合具体的实战案例,详细讲解了浏览器插件开发的各个环节。每章都围绕一个主题,如界面设计、权限介绍、网络请求等,通过实际的代码和详细的解析,帮助读者掌握浏览器插件的开发技巧和方法。最后,第12章是项目实战,笔者以一个完整的项目为例,对前面介绍的知识点进行整合,让读者能够在实践中看到各个知识点的运用,并理解它们如何协同工作,共同构建出一个功能完善的浏览器插件。
在Chrome浏览器插件的发展史中,我们看到了一个不断扩张的生态系统。从最初的扩展支持到如今的商店里拥有超过十万个扩展,Chrome的成功不仅体现在市场份额上,更重要的是,它为开发者和用户提供了一个充满可能性的平台。
本书将一步步引导你走进浏览器插件开发的世界。无论你是一名有抱负的开发者,还是一名对浏览器插件充满好奇的用户,本书都将为你提供必要的理论知识和实战技巧,帮助你在这个令人兴奋的领域中找到自己的位置。让我们一起开始这段探索之旅吧。
阅读建议
要想深入掌握浏览器扩展开发,光靠理论学习是远远不够的。在本书中,笔者不仅分享了丰富的理论知识,更重要的是,还把自己在工作中的实践经验融入了写作之中。本书不仅是一个知识库,也是一个实际操作的手册,笔者通过亲身实践,为读者提供了一系列切实可行的案例和解决方案。
本书的价值在于实践。希望读者不仅要阅读和理解,更要动手尝试和实验。通过实际编码和调试,你将能够更深入地理解浏览器扩展的开发过程。此外,书中的知识点和经验教训都是笔者在现实工作中一点一滴积累起来的,因此,每次实践都是在与笔者的工作经历对话,让你在学习的道路上少走弯路。
与此同时,不断回顾和复习所学知识,与他人讨论和分享你的发现和挑战都能够帮助你更深刻地理解书中的内容。最终,通过不断实践和探索,你将能够熟练地运用浏览器扩展开发的技能,甚至创造出属于自己的独特插件。本书是你旅程的起点,实践则是你通往成为专家道路上的加速器。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
致谢
感谢我的妻子和岳母对我的大力支持并承担了所有的家务,使我得以全身心地投入写作工作中。
由于时间仓促,书中难免存在不妥之处,请读者见谅,并提出宝贵意见。
乔凯
2024年12月
于北京
|
|