4.原理

硕正套件是浏览器的插件或加载项，以 <Object ...> 形式展现于页面，而 <Object ...> 的书写格式在不同浏览器下是有差别的.
对于 IE 浏览器，下载的是 supcan2.cab 加载项(即ActiveX)，其CLSID为：
619F1AC0-2644-40D3-9EB1-22F81C5FE097
对于64位 IE 浏览器，下载的是 supcan2.x64.cab 加载项(即ActiveX)，其CLSID为：
11249C26-4BCD-4A74-B4D9-068936D77EFE
对于 Chrome 浏览器，插件采用 ppapi 接口，其type为：
application/x-ppapi-supcan
对于 Firefox、老版本的 Chrome 浏览器，将会自动分别下载 supcan.xpi、supcan.crx插件，该插件的type为：
application/supcan-plugin
浏览器的插件本身(比如 xpi、crx、cab 文件) 尺寸都很小，它们实现的功能也不多，只负责和浏览器打交道。 硕正套件真正的主角：一系列的功能组件并不在这个文件中，而是在几个独立的 Bin 压缩包中，这些组件是由该插件/加载项负责进行再一次的下载、安装的。
插件/加载项只是实现以下几个简单的功能：
1.下载、更新功能组件;
2.充当功能组件的容器;
3.与页面交互;
也就是说，该插件/加载项相当于是页面和功能组件之间的接口或桥梁，它将组件功能暴露给页面、供页面 JavaScript 操控。其原理图如下:
一个页面内可能有多个插件/加载项实例，每个插件/加载项实例中有一个功能组件的实例，页面、插件/加载项与功能组件的关系又可以以下图示例：
supcan2.cab、supcan.xpi、supcan.crx 这些插件文件很少升级，而一系列功能组件却可以在用户没有感觉的情况下升级，甚至是较频繁地升级，这就是采用这种设计框架的原因。