好消息!软航文档控件(NTKO WebOffice)在Chrome 133版本上提示扩展已停用的解决方案

软航文档控件现有版本依赖Manifest V2扩展技术支持才能正常运行,然而这个扩展技术到2025年6月在Chrome高版本上就彻底不支持了,现在Chrome 133开始的版本已经开始弹出警告,必须手工开启扩展支持才能正常运行。那么如何解决这个技术难题呢?

PluginOK中间件作为一个实现浏览器与本地程序之间进行双向调用的低成本、强兼容、安全可控、轻量级、易集成、可扩展、跨浏览器的原生小程序系统,解决起来毫无压力,可在线体验。步骤如下:

1、首先下载体验软件包:安装包->http://local.zorrosoft.com/Files/PluginOKNet.exe 绿色版-> http://local.zorrosoft.com/Files/WRL.zip 绿色版下载后解压运行installwrl.bat即可完成安装。

2、打开体验网站:http://local.zorrosoft.com/ocxfull.html 或者 http://local.zorrosoft.com/ocxframe.html,前者实现整个网页区嵌入,后者实现网页局部区域嵌入显示,然后点击连接,提示连接成功说明第一步安装的中间件服务启动正常。然后在发送按钮上面的输入框中替换内容如下:

A、ocxfull.html完整嵌入的填写以下内容:

{"req":"Wrl_AppletStart","rid":99,"para":{"Type":"0","Title":"ActiveX网页小程序","NodeName":"OcxWebApplet","PID":"OcxWebApplet","Flag":72,"Left":0,"Top":0,"Width":0,"Height":0,"IframeX":0,"IframeY":0,"Option":"0","Zoom":100,"ScrollTop":0,"Web": {"DataPath":"c:/OfficeDoc","ClassID":"{A39F1330-3322-4A1D-9BF0-0BA2BB90E970}"},"Open":"http://local.zorrosoft.com/Files/test.doc"}}

B、ocxframe.html 局部嵌入的填写以下内容:

{"req":"Wrl_AppletStart","rid":8,"para":{"Type":"0","Title":"ActiveX网页小程序","NodeName":"OcxWebApplet","PID":"OcxWebApplet","Flag":66,"Left":20,"Top":20,"Width":480,"Height":320,"IframeX":0,"IframeY":210,"BarW":0,"BarH":0,"Option":"0","Web": {"DataPath":"c:/OfficeDoc","ClassID":"{A39F1330-3322-4A1D-9BF0-0BA2BB90E970}"},"Open":"http://local.zorrosoft.com/Files/test.doc"}}

发送内容替换完成后,直接点击发送,正常情况下,您可以分别看到如下画面:

完整嵌入效果

局部嵌入效果,点击适配显示切换,也可以自动适配网页区显示大小聪明右侧和底部显示。

对于控件提供的开发接口,也提供了自动化的接口请求支持:

11)、请求获取属性值

Name 指定属性名称 如遇到取子接口的,名称增加子接口的名称,支持多级,比如获取VLC播放列表的数量名称用playlist.itemCount 下同

{"req":"OCX_GetProperty","rid":11,"para":{"Name":"src"}}

{"req":"OCX_GetProperty","rid":11,"para":{"Name":"volume"}}

{"req":"OCX_GetProperty","rid":11,"para":{"Name":"Toolbar"}}

{"req":"OCX_GetProperty","rid":11,"para":{"Name":"playlist.itemCount"}}

{"req":"OCX_GetProperty","rid":11,"para":{"Name":"input.rate"}}

{"req":"OCX_PutProperty","rid":11,"para":{"Name":"video.logo.opacity"}}

返回: {"ret":0,"rid":11,"data":{"Ret":0,"Val":""}}

如果返回的是自动化接口,Val的值类似这样的:playlist={CatchDispatch},需要继续调用这个自动化接口的属性或方法时,接下来的请求里指定参数{CatchDispatch},否则默认调用控件主接口的,下同

12)、请求设置属性

Name 指定属性名称 如遇到设置子接口的,名称增加子接口的名称,支持多级

Val 指定属性值,字符串用""包含,字符串中包含\或"等字符时,需要加转义符\,数值型不用"",BOOL类型设置真时数值是-1

当需要释放缓存的自动化接口时,Name可以指定为类似这样的playlist={CatchDispatch},Val设置为0或空

{"req":"OCX_PutProperty","rid":12,"para":{"Name":"src","Val":"d:/zorro/test.pdf"}}

{"req":"OCX_PutProperty","rid":12,"para":{"Name":"Toolbar","Val":-1}}

{"req":"OCX_PutProperty","rid":12,"para":{"Name":"Visible","Val":-1}}

{"req":"OCX_PutProperty","rid":12,"para":{"Name":"volume","Val":0}}

{"req":"OCX_PutProperty","rid":12,"para":{"Name":"input.rate","Val":2}}

{"req":"OCX_PutProperty","rid":12,"para":{"Name":"video.logo.opacity","Val":50}}

{"req":"OCX_PutProperty","rid":12,"para":{"Name":"playlist={CatchDispatch}","Val"0}}

返回: {"ret":0,"rid":12,"data":{"Ret":0}}

13)、请求无传入参数方法

Name 指定方法名称 如遇到调用子接口的,名称增加子接口的名称,支持多级,比如调用VLC播放列表播放方法名称用playlist.play 下同

DID 也可以指定方法序号

{"req":"OCX_Invoke0","rid":13,"para":{"Name":"gotoFirstPage"}}

{"req":"OCX_Invoke0","rid":13,"para":{"Name":"gotoNextPage"}}

{"req":"OCX_Invoke0","rid":13,"para":{"Name":"playlist.play"}}

返回: {"ret":0,"rid":13,"data":{"Ret":0,"Val":""}}

14)、请求只传入1个参数方法

Name 指定方法名称 如遇到调用子接口的,名称增加子接口的名称,支持多级,比如调用VLC播放列表播放方法名称用playlist.add 下同

DID 也可以指定方法序号

Para1 对应参数值 ,字符串用""包含,字符串中包含\或"等字符时,需要加转义符\,数值型不用"";参数如果需要再次调用自动化接口获取的值,可以这样传参{DispatchPara}=playlist.itemCount 下同

{"req":"OCX_Invoke1","rid":14,"para":{"Name":"LoadFile","Para1":"d:/zorro/test.pdf"}}

{"req":"OCX_Invoke1","rid":14,"para":{"Name":"setShowToolbar","Para1":0}}

{"req":"OCX_Invoke1","rid":14,"para":{"Name":"video.logo.file","Para1":"D:\\Zorro\\test.png"}}

{"req":"OCX_Invoke1","rid":14,"para":{"Name":"playlist.add","Para1":"http://www.zorrosoft.com/Files/PluginOKBrowserApplet.mp4"}}

返回: {"ret":0,"rid":14,"data":{"Ret":0,"Val":""}}

15)、请求只传入2个参数方法

Name 指定方法名称

DID 也可以指定方法序号

Para1和Para2分别对应参数1和2数值 如果需要传缓存的自动化接口,可以这样传参{CatchDispatch}=playlist

{"req":"OCX_Invoke2","rid":15,"para":{"Name":"printPages","Para1":1,"Para2":2}}

返回: {"ret":0,"rid":15,"data":{"Ret":0,"Val":""}}

16)、请求只传入3个参数方法

Name 指定方法名称

DID 也可以指定方法序号

Para1、Para2、Para3分别对应参数1、2和3的数值

{"req":"OCX_Invoke3","rid":16,"para":{"Name":"printPagesFit","Para1":"1","Para2":"2","Para3":"0"}}

返回: {"ret":0,"rid":16,"data":{"Ret":0,"Val":""}}

17)、请求只传入4个参数方法

Name 指定方法名称

DID 也可以指定方法序号

Para1、Para2、Para3、Para4分别对应参数1、2、3和4的数值

{"req":"OCX_Invoke4","rid":17,"para":{"Name":"setCurrentHighlight","Para1":255,"Para2":0,"Para3":255,"Para4":0}}

返回: {"ret":0,"rid":17,"data":{"Ret":0,"Val":""}}

18)、请求只传入5个参数方法

Name 指定方法名称

DID 也可以指定方法序号

Para1、Para2、Para3、Para4、Para5分别对应参数1、2、3、4和5的数值

福昕OFD版式办公套件OCX 调用打开文档

{"req":"OCX_Invoke5","rid":18,"para":{"Name":"openFile","Para1":"d:/zorro/test.pdf","Para2":"0","Para3":"","Para4":"","Para5":""}}

返回: {"ret":0,"rid":18,"data":{"Ret":0,"Val":""}}

19)、请求只传入6个参数方法

Name 指定方法名称

DID 也可以指定方法序号

Para1、Para2、Para3、Para4、Para5、Para6分别对应参数1、2、3、4、5和6的数值

{"req":"OCX_Invoke6","rid":19,"para":{"Name":"","Para1":"","Para2":"","Para3":"","Para4":"","Para5":"","Para6":""}}

返回: {"ret":0,"rid":19,"data":{"Ret":0,"Val":""}}

支持更多参数的接口也有,就不一一展示了。

PluginOK中间件也不仅仅支持NTKO WebOffice文档控件,金格iWebOffice、OfficeCtrl、微软DSOFramer、点聚等文档控件也毫无压力。

最最重要的是,基于PluginOK中间件实现的PageHiOffice文档控件,可以全面碾压以上文档控件对Office、金山WPS及永中Office的兼容性,而且还额外提供了完整嵌入模式,功能更全,完全不依赖浏览器提供的任何插件或扩展接口,不用再担心浏览器的升级导致技术方案失效引发的系统停摆风险!在线体验可以戳这里-> VUE2:http://local.zorrosoft.com/office VUE3:http://local.zorrosoft.com/office3 JS:http://local.zorrosoft.com/officeJS

相关推荐
疯狂的沙粒7 分钟前
Vue 前端大屏做多端屏幕适配时,如何让其自动适配多种不同尺寸的屏幕?
前端·javascript·vue.js
范小多10 分钟前
24小时学会Python Visual code +Python Playwright通过谷歌浏览器取控件元素(连载、十一)
服务器·前端·python
ooolmf11 分钟前
matlab2024读取温度01
java·前端·javascript
打工人小夏12 分钟前
前端vue3项目使用nprogress动画组件,实现页面加载动画
前端
一颗宁檬不酸14 分钟前
前端农业商城中产品产地溯源功能的实现
前端
李少兄21 分钟前
深入理解前端中的透视(Perspective)
前端·css
江公望31 分钟前
HTML5 History 模式 5分钟讲清楚
前端·html·html5
云和数据.ChenGuang38 分钟前
Zabbix Web 界面安装时**无法自动创建配置文件 `zabbix.conf.php`** 的问题
前端·zabbix·运维技术·数据库运维工程师·运维教程
码界奇点40 分钟前
Java Web学习 第15篇jQuery万字长文详解从入门到实战解锁前端交互新境界
java·前端·学习·jquery
前端老曹1 小时前
vue3 三级路由无法缓存的终极解决方案
前端·javascript·vue.js·vue