📔 金山办公产品帮助中心

为什么第一次唤起WPS客户端时会有弹窗

文档由 任财应 于 2022-09-27 22:40 创建,由 任财应 于 2022-09-27 22:40 更新
文档标签:
文档分类:
163

问题

为什么浏览器打开WPS时,会弹出请确认是否打开应用弹框,且publish页面中点击了确认,WPS进程为什么没有启动

问题原因:

WPS是通过浏览器的自定义浏览器协议来唤起WPS的伺候进程(本地的一个httpServer进程,占用58890端口),业务系统再通过向伺候进程发送请求(唤起WPS,获取本地publish.xml文件中的所有加载项等),伺候进程根据请求信息做相应的操作后,并将结果返回。

自定义浏览器是浏览器自身功能。出于安全策略,会告知用户将打开本地应用,需要用户自己去判断是否打开本地应用。所以这个弹窗是浏览器自己去定义的,我们无法绕过。但是我们和国内的多家浏览器平台有做过沟通(360:windows上暂未加入,国产机上已加入。奇安信:windows和国产机都已加入),将我们的WPS应用加入到自定义浏览器协议白名单中,这样使用自定义浏览器协议唤起我们的WPS进程时,就不会需要弹出确认弹窗了。

publish.html页面中我们只是去唤起了伺候进程,且向伺候进程发送了获取本地publish.xml文件中的所有加载项。并没有发送唤起WPS的请求,所以WPS并不会启动。

 

已优化

通过打包将58890端口所使用的进程加入到开机自启动中,但是该操作可能会被杀毒软件拦截,如果被拦截,则还是按照弹窗授权方式唤起58890端口。

版本支持:

linux:10681(qt5分支)

windows:10912及以后

打包配置:

[setup]

InstallJsApiService=1