SubProcess 接口使用指南
在嵌入式应用程序中,此页面上的 JavaScript 可以使用
window.appletSubProcessObject
对象执行表达式代码并与后端交互。适用于任何嵌入式应用程序环境。初始化通信通道
在应用程序加载时,设置通信通道以便 JavaScript 可以与 Path 通信。
将qwebchannel.js
文件加载到你的应用程序中:
html <head> <script language="javascript" src="./qwebchannel.js"></script> </head>
你可以从指定位置获取
qwebchannel.js
并将其部署到你的应用程序的 Web 服务器中。创建 Web 通道通信对象
在应用程序加载完成后,创建 Web 通道通信对象:
javascript new QWebChannel(qt.webChannelTransport, channel=> { for(const i in channel.objects){ const name = 'applet'+i.charAt(0).toUpperCase() + i.slice(1)+'Object'; if(!window.hasOwnProperty(name)){ window[name] = channel.objects[i] } } console.log('init done'); });
或javascript window.onload = function() { if (!qt || !qt.webChannelTransport) { return; } new QWebChannel(qt.webChannelTransport, function(channel) { window.appletSubProcessObject = channel.objects.process; }); }
执行表达式打开
需要先启用对应的权限
window.appletSubProcessObject.Execute
并提供一个回调函数,第一个参数是需要执行的命令,可以使用列表或者字符串,第二个参数是等待的时间,默认是30000毫秒。当代码执行完成时,将调用该函数并返回结果。字符串表达式
javascript if (window.appletSubProcessObject && window.appletSubProcessObject.Execute) { window.appletSubProcessObject.runCommand( "net", -1, function(result) { alert(result); } ); }