您现在的位置是:首页 > 文章详情

01. Chrome扩展简单认识

日期:2018-11-28点击:551

认识Chrome扩展及应用

    Chrome扩展 是用于扩充 Chrome浏览器功能的程序Chrome应用 以Chrome为平台运行的程序,两者似乎并没有太明确的区别,甚至有些程序既可以设计成Chrome扩展也可以设计成Chrome应用。

    但既然Google将基于Chrome平台的程序分为了两类,说明两者还是有区别的。

    1. Chrome扩展主要用于对浏览器功能的增强,它更强调与浏览器相结合。
      比如Chrome扩展可以在浏览器的工具栏和地址栏中显示图标,它可以更改用户当前浏览的网页中的内容,也可以更改浏览器代理服务器的设置等等。

    2. Chrome应用更强调是独立的程序,你可以不打开Chrome浏览器而运行这些程序。同时这些程序可以调用更加底层的系统接口,比如串口、 USB、本地文件读写等等。
      同时Chrome应用可以拥有样式更加自由的独立窗口,而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平台的,说得直白些,是基于WebKit浏览器的 -- 当然有些更加高级的接口不仅仅依赖于WebKit浏览器 -- 所以Chrome扩展在处理逻辑运算和实现程序功能时所采用的编程语言必然只能是JavaScript。

    可能你会感到惊讶,毕竟JavaScript最开始是为提升网站与用户交互体验而设计出的一种轻量级脚本语言,怎么会脱离网站而成为一种程序的逻辑语言呢?
随着Chrome浏览器V8引擎的出现,JavaScript的执行效率得到了大幅提升,甚至出现了将其作为后端语言的项目 -- Node.js。 
所以将JavaScript作为一种客户端程序语言就更是绰绰有余了-- 只要提供更加丰富的功能函数 -- 而Chrome平台正提供了这样的环境。

    总的来说,Chrome扩展更像是一个运行于本地的网站,只是它可以利用Chrome平台提供的丰富的接口,获得更加全面的信息,进行更加复杂的操作。而它的界面则使用HTML和CSS进行描述,这样的好处是可以用很短的时间构建出赏心悦目的UI。界面的渲染完全不需要开发者操心,而是交给Chrome去做。

    Chrome扩展的 启动入口 可以在 浏览器的 工具栏  地址栏 中,用户单击后激活扩展进行下一步的操作,也可以干脆没有图标,在后台静默地运行。
比如微博的扩展,可以设计成将图标显示在工具栏中,用户点击后打开一个显示用户微博时间轴的界面;RSS订阅器扩展可以设计成将图标显示在地址栏中,当用户点击后,订阅地址栏中当前显示的URL;自动使用Google SSL链接的扩展可以不显示图标,只是在后台默默地监视,当用户访问了非SSL的Google链接后,自动跳转到SSL链接即可。

    enter image description here
    Chrome扩展图标在浏览器中的位置

    注意:Chrome不允许将js代码段直接内嵌入HTML文档,所以需要引用JS文件。当然inline-script也是被禁止的,所以所有元素的事件都需要使用JavaScript代码进行绑定.

manifest.json

    它是整个扩展的入口,也是Chrome扩展必不可少的部分。

    Google的官方文档中对于扩展应用给出了两个不同的Manifest介绍界面,这是因为有些属性只能由扩展使用,而有些属性只能由应用使用。

    Chrome扩展的Manifest必须包含name、version 和 manifest_version属性,目前来说 manifest_version属性值只能为数字2对于应用来说,还必须包含app属性。

    其他常用的可选属性:02. manifest.json

    1. 扩展在 https://developer.chrome.com/extensions/manifest,

    2. 应用在 https://developer.chrome.com/apps/manifest

2017年7月17日 22:37:56


原文链接:https://blog.roncoo.com/article/129294
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章