浏览器的附加组件是一种可以增强浏览器功能或定制用户体验的软件扩展,允许用户根据个人需求和偏好进行定制。在1999年,Internet Explorer和Firefox等浏览器开始支持这种附加组件,为用户提供了更多的功能和灵活性。
这些附加组件可以是插件、扩展、工具栏等形式,能够实现广泛的功能,例如广告拦截、密码管理、安全检测等,然而,这些附加组件通常基于特定浏览器的专有集成和API(应用程序接口),因此仅适用于特定浏览器,并受到该供应商所提供的附加应用程序接口的限制。这意味着,如果用户想要在不同浏览器上使用同样的附加组件,则可能需要重新寻找或重新开发适用于不同浏览器的版本。此外,由于这些附加组件使用了特定浏览器的专有功能,可能会导致在其他浏览器上无法使用,限制了用户在不同浏览器间的灵活性和一致性体验。
直到2009年9月,谷歌Chrome浏览器推出了现代浏览器扩展,标志着一个新时代的开始。与传统浏览器的附加组件不同,这些Chrome浏览器扩展采用了全新的开发模式和技术架构,为用户带来了更为灵活和强大的定制体验。
Chrome浏览器扩展采用了HTML、CSS和JavaScript等Web标准技术进行开发,使开发者能够基于熟悉的Web技术创建扩展。借助JavaScript扩展API,开发者可以与浏览器进行交互,实现各种功能和定制化需求。这种新的开发模式极大地降低了开发门槛,为更多开发者提供了参与浏览器定制的机会。
开发者可以利用这些扩展API来创建广泛的功能,包括但不限于广告拦截、数据同步、安全检测、日程管理等,而且,Chrome浏览器为开发者提供了一个方便的发布平台Chrome网上商城,使开发者可以将他们开发的扩展分享给更多的用户,扩展的更新和安装变得更加便捷和高效。
这种新的开发模式和Chrome浏览器扩展的推出,标志着浏览器附加组件的转型。这些扩展提供了更为安全、高效和便捷的用户体验,并且为开发者提供了更开放、更具创造性的平台,使用户可以根据个人需求和偏好自由地定制和优化浏览器体验。
1.3浏览器扩展领域概览
从最初的专有集成到现今的通用性,浏览器扩展经历了巨大变革。现在,它们被视为为浏览器添加新功能、增强安全性和提升生产力的主要途径之一。这种变革反映了开放式、创新性的开发环境,让开发者和用户更容易定制和优化其浏览器体验。
多年的发展使浏览器扩展成为一种成熟的软件产品。它们现在拥有清晰明确的应用程序接口(API)和详尽的文档,经过开发者和消费者的广泛采用,成为用户日常浏览体验的重要组成部分。特别是通过强大的应用商店管道,浏览器扩展轻松地触达终用户端。
1.3.1 移动应用程序与浏览器扩展的比较
移动应用程序和浏览器扩展有许多相似之处,它们都需要向主机系统申请权限,受到严格的安全模型的约束,利用丰富的API与宿主系统交互。它们都通过特定的应用商店打包发布,经过审核过程,并通过主机系统自动下载和安装更新,然而,移动应用程序和浏览器扩展也有各自的优势和局限,本节将从功能性、便利性和限制的角度,对比它们的差异。
1.功能性
功能性是指软件能够实现的功能的多样性和复杂性。移动应用程序的功能性通常高于浏览器扩展,因为移动应用程序可以直接访问设备的硬件和系统资源,如相机、话筒、GPS、通讯录、传感器等,从而实现更多的功能和交互。例如,移动应用程序可以实现拍照、录音、导航、扫码、支付、游戏等功能,而浏览器扩展则很难或无法实现这些功能。浏览器扩展的功能性主要体现在对网页的修改和增强,如改变网页的外观、添加工具栏、屏蔽广告、翻译网页、提供快捷键等。浏览器扩展也可以实现一些与网页无关的功能,如提醒、笔记、截图、下载等,但这些功能通常比较简单和有限。
2.便利性
便利性是指软件能够为用户提供的方便和快捷的程度。浏览器扩展的便利性通常高于移动应用程序,因为浏览器扩展可以直接在浏览器中运行,无须安装和更新,也无须占用设备的存储空间和内存。用户只需在浏览器中启用或禁用浏览器扩展,就可以随时使用或停止使用浏览器扩展的功能。此外,浏览器扩展可以跨平台使用,只要用户使用的是支持浏览器扩展的浏览器,就可以在不同的设备和操作系统上使用同样的浏览器扩展。移动应用程序的便利性主要体现在可以离线使用,即在没有网络连接的情况下,也可以使用移动应用程序的功能。例如,用户可以在飞机上或地铁里使用移动应用程序听音乐、看视频、阅读电子书等。移动应用程序也可以利用设备的通知功能,向用户推送重要的信息和提醒。
3.限制性
限制是指软件在使用过程中可能遇到的障碍和困难。移动应用程序的限制通常多于浏览器扩展,因为移动应用程序需要适配不同的设备和操作系统,以及遵守不同的应用商店的规则和审核。例如,移动应用程序可能在不同的设备上显示不一致,或者无法在某些设备上运行。移动应用程序也可能因为违反应用商店的政策或标准,而被拒绝上架或下架。浏览器扩展的限制主要体现在对浏览器的依赖,即用户必须使用支持浏览器扩展的浏览器,才能使用浏览器扩展的功能。例如,用户无法在微信或QQ等内置浏览器中使用浏览器扩展。浏览器扩展也可能因为与浏览器或其他浏览器扩展的兼容性问题,而导致浏览器的崩溃或异常。
总之,移动应用程序和浏览器扩展是两种不同的软件类型,它们都有各自的优势和局限。用户在选择使用移动应用程序或浏览器扩展时,应该根据自己的实际需求权衡利弊,做出合适的决定。
1.3.2浏览器扩展商店
主要的浏览器都提供了一个商店,可以发布和下载扩展。主要浏览器的扩展商店的名称见表1-1。
表1-1 浏览器扩展商店
浏览器 扩展商店名称
Chrome Chrome 网上应用店
Edge Microsoft Edge 附加组件
Firefox Firefox 附加组件
Safari Safari 扩展
Opera Opera 扩展
1.3.3浏览器扩展的类型
浏览器扩展是一种可以在浏览器中运行的小程序,它们可以为用户提供各种功能和服务,增强浏览器的性能和体验。根据浏览器扩展的功能和用途,可以将它们分为以下几种类型:
1.工具类
这类扩展主要提供一些实用的工具,如计算器、截图、翻译、笔记、提醒、下载等,可以帮助用户提高工作和学习的效率和便利性。
(1)Google 翻译:可以让用户在浏览器中快速翻译任何语言的网页或文本,如图1-5所示。
图0 5 Google 翻译插件
(2)Shulex Copilot:Shulex Copilot是VOC公司研发的一款赋能企业的浏览器插件,该插件结合AI技术,能够多维度展现出卖家最关心的核心数据,快人一步打造爆品如图1-6所示。
图0 6 Shulex Copilot
(3)Evernote Web Clipper:Evernote Web Clipper可以让用户在浏览器中保存和管理网页内容,能够将你在网上看到的内容保存到你的 Evernote 账户中如图1-7所示。
图0 7 Evernote Web Clipper 插件
(4)Hypertrons:Hypertrons一款帮助洞察GitHub项目和开发者数据的浏览器插件如图1-9所示。
图0 8 hypertrons-crx 插件
(5)React Developer Tools:React Developer Tools可以帮助前端开发者在 Chrome 浏览器开发工具中检查 React 组件的层次结构如图1-9所示。
图0 9 React Developer Tools 插件