### 目前现状
- windows和uos目前浏览器技术方案是不一样的,所以对于插件而言,实际也是不同的实现。
- windows是通过cefclient直接修改header,所以所有流量都有header数据。
- uos使用的标准chrome extension
- 所以两个平台是不统一,实现是割裂的。
### 根本原因
- 当前生产上的windows存在大量的windows8 32位系统
- win8系统最新能够支持最新的cef版本为-日期:**Sep 2020** |版本:**4240** |具体信息:**86 86 Win 7+, VS2017 15.7.1+, Win 10.0.19041 SDK, Ninja**
- 终端当前使用的版本为81.0.**4044**
- 而该版本不适配chrome extension的方式
- 后续cef版本是支持chrome extension的,但是由于操作系统限制,无法直接替换。
### 其他影响因素
- C++弹窗解决。
- 调试发现,最终为联软载入程序引发的错误
- 也尝试过无任何改动的cefclient和高版本的cefclient,一样会有这个弹框
- 弹框时间不固定。
- 猜测为hook的时间不一致。
- 非程序内错误,不影响页面的加载和使用。。也不会造成程序崩溃。。就是弹框影响美观和使用。
- 搜狗输入法适配
### 想要解决的问题
- 需要确定插件部分后续的发展方向
- 想要解决当前cef使用上的其他问题
### 解决方案对比
| 解决方案 | 双系统不同实现方案 | windows更换为360 | 只支持UOS |
| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| 方案简述 | 1、windows采用原生win的gui来模拟插件窗口实现。
如,确认/取消弹窗,状态栏展示等。
2、UOS继续使用插件来实现。 | win和uos都使用chrome extension插件 | 因目前只采购uos机器,后续windows不支持其他的插件的功能 |
| 优点 | 与目前双系统方案一致 | (1)只需开发一次插件,减少工作量,插件运行行为保持一致性。
(2)能够解决C++弹框问题 | (1)只开发UOS插件
(2)Windows部分与目前保持一致 |
| 缺点 | (1)就插件这一部分,需要不同的实现方案。
(2)就浏览器运行参数和行为,会有不统一,需要两边都重新适配,增加开发量
(3)无法解决C++弹窗问题(可能得通过别的方式解决) | (1)当前webRTC部分向UOS靠拢,也会有UOS部分chrome权限的问题。
不过随UOS部分的解决也一样会解决windows问题。
(2)需验证搜狗输入法在360上的效果。 | (1)Windows无法使用其他插件。 |
| | | | |