6.二种方案比较

6.1 纯 ppapi 方案

硕正1.0.107.0版本完善了纯 ppapi 插件技术, 并通过 dynaload.js 的进一步封装, 使 ppapi 语法完全兼容 npapi 和 IE, 这样页面也就能轻易兼容多种浏览器, 而不必书写2套代码，就像硕正官网的在线演示那样。
我们发现, 纯 ppapi 方案运行更加稳定、流畅, 由于完全是在 Chrome 环境下运行，整体性能也好于内嵌 IE 方案.
在纯 ppapi 中使用插件的 GrayWindow 全局函数, 可以使插件不会遮挡其它页面元素, npapi 和 IE、内嵌IE都做不到这一点.
但是纯 ppapi 方案的缺陷也是显而易见的, 比如在 “4.内嵌 IE 方案” 文中提到的二种功能, 就无法实现，我们短期内也找不出更好的替代方法。
位于 iframe 中的插件, 当 iframe 被隐藏时, 插件不会自动跟随着被隐藏, 须用 js 更改容器 div 的 visibility 属性让其隐藏或显示.
此外, 纯 ppapi 开发的页面最好不要使用 alert, 因为弹出提示容易被插件遮挡, 应该用插件的全局函数 messageBoxFloat 代替之。

6.2 内嵌IE方案

硕正套件的功能几乎全部都具备, 这恐怕是它唯一的优势了.
由于插件内部嵌入了一个IE核心，略显厚重, 消耗内存资源肯定要多一些, 性能也逊色于纯 ppapi 方案.
内嵌IE方案需要一个 “外部页面” 来配合使用, 这肯定要额外多一分维护工作。
此外, 内嵌IE还有一个问题, 如果页面中含有 <a href=...> 这样的超链接, 弹出的将是新的 IE 浏览器窗口, 而不是 Chrome 选项卡.

6.3.其它说明

6.3.1 Windows 7 或以前版本的问题

在 Windows 7 或更早版本中, 如果拖动浏览器窗口, 发现插件位置不会立即跟随变化, 大约有半秒钟的粘滞; 如果页面很长需要滚动条, 滚动条滚动时, ppapi 插件会伸出浏览器窗口外:
Windows 8 及以后的版本就没有这个问题了, Windows 7下尚无解决办法。
如果 ppapi 是内嵌 IE, 建议把外部页面的滚动条去掉, 内部的 IE 页面中的硕正控件(加载项)是没有这个问题的。

6.3.2 http-equiv="MSThemeCompatible"问题

如果是用内嵌 IE 方案, 建议内部页面的 head 中都增加这么一行：

    <meta http-equiv="MSThemeCompatible" content="yes">

如果不加这一行, 很可能内部页面的 html 元素(如 button )的外观都呈现 Win2000 过时的风格，而不是操作系统默认的主题风格。