Chrome extension的类型

Chrome中的extension概念跟我们一般想的不一样,除了一般的extension,比如广告过过滤extension是属于extension,其实Chrome中的theme也是属于extension。另外随着extension系统的发展,类型的定义也会发生改变。 Extension类型的定义 我们可以在代码extensions\common\manifest.h中查看Manifest::Type的定义: 此外我们可也以从代码extensions\common\api\management.json中可以看到ExtensionType的定义: 这两处对于extension类型的定义有些差异,management.json定义渐渐废弃,以manifest.h中的定义为准。 Extension类型的判断 判断一个extension类型是看extensions\common\extension.h中的判断逻辑: Extension最后还是调用Manifest中的逻辑: 在Manifest构造函数中: 可以看到extension类型的判断逻辑: theme 类型为Manifest::Type::TYPE_THEME的extension就是一个theme(主题),它可以改变浏览器的外观。theme通常不会包含有html和js等代码。具体可以看看这里的介绍https://developer.chrome.com/extensions/themes。 shared_module shared_module类型很少见。 app app包含三种类型,platform_app、hosted_app、legacy_packaged_app。2016年Chrome宣布将不再支持app类型了。app与extension最大的差别是app可以具有独立于浏览器的窗口界面。app相比extension可以获取到更多的权限,能够实现更加强大的功能。 extension 我们在Chrome网上应用店里面下载到扩展程序都是属于extension,这也是最常见的,如下图: ... Read More | Share it now!