WPS NPAPI 搬运工


关于 NPAPI Chrome 内核的态度

Chrome 内核早在 V42 版本(2015年)开始默认关闭 NPAPI(Netscape Plugin API) 支持设置,在 V53 版本淘汰对 NPAPI 的支持。原因是,NPAPI 插件中的代码拥有当前用户的所有权限,对于恶意的输入不受到 Chrome 的任何保护。如果插件包含漏洞,攻击者可能会利用漏洞在用户的计算机上安装恶意软件。而后 Chrome 建议使用的 PPAPI(Pepper Plugin API) 插件,是由 Chrome 自身研发避免了 NPAPI 的缺点,但也在 2022 年 Chrome 内核 V107 版本放弃支持。

国产浏览器对 NPAPI 的态度

许多国产浏览器都是基于 Chrome 内核二次研发,但 TA 们对 NPAPI 却是支持的。在国产机器上安装 WPS 专业版本,会自动给浏览器安装 Kingsoft WPS Plugin 插件。以 UOS 浏览器为例,UOS 是基于 Chrome/54.0.3239.132 版本研发,通过 uos://plugins 可见。

WPS 对 NPAPI 的态度

WPS 开发者平台是建议使用 WPS 加载项进行二次开发。但对 NPAPI 支持的浏览器也提供了集成的整套 demo 。具体在 前-WPS开放平台 中 WPS 加载项 => WPS 集成模式 => 浏览器应用集成嵌入 WPS 指南 wps: wps二次开发系统集成相关 - Gitee.com ,基本上场景都包括了。

FAQ

问题1:只能打开空的 WPS 插件,但是看不到文档内容。

一般来说,是你的问题不会是 WPS 插件问题。在调用 this.pluginObj.OpenDocumentFromServer() 的返回值中包含错误信息说明。

{
    "result" : true,        
    "errMsg" : "错误信息",             
    "fileName" : "打开文件名",        
    "responseHead" : {
        "key1" : "value1",
        "key2" : "value2",
        "key3" : "value3"
        }            
}
问题2:WPS 插件之上的 div 窗口会被挡住。

这种解决办法就是先将 Application 的 Visable 设置为 false,而后改为 true,并重新打开文档。

附件


文章作者: beluga
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 beluga !
  目录