本文主要是介绍onlyoffice 插件执行后如何将消息返回给页面进行处理返回消息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用免费的onlyoffice,前端操作插件是困难的,但是虽然是困难的,也是可以解决的,猜想这块内容是收费部分给封装起来了,既然要用免费的,那就要自己实现。
使用方法docEditor.serviceCommand(cmd,param); 可以和插件通信,插件收到之后,可以根据指令去修改或者编辑文档内容,编辑之后,可以将结果再返回给前端js,js再处理后续的逻辑。
今天遇到的问题是,插件执行完之后如何再将消息返回。
首先前端要加监听:
window.addEventListener('message',function(e){console.log(e);
});
e里面有插件返回的所有信息。
插件的执行是这样的:
if(data.data.type&&data.data.type=='aaa'){Asc.scope.text.flag='no';window.Asc.plugin.callCommand(function(){//处理业务逻辑,就是编辑文档console.log(Asc.scope.text);//要返回前端什么信息,都封装在这里面,返回,或者自己定义一个json返回return Asc.scope.text;},false,true,function(data) { //这个很重要,就是通过这个将返回的信息传给前面我们自己处理的业务逻辑 globalThis.self.top.postMessage(data ,'*');});// window.Asc.plugin.aftrePostMessage(0, Asc.scope.text); }
我只记录我出现的问题,原来将消息返回给前端是写在callCommand方法中的,现在遇到问题,方法中是无法传过去,所以改成了在回调方法中。
这篇关于onlyoffice 插件执行后如何将消息返回给页面进行处理返回消息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!