如何在JavaScript和本机客户端模块之间通信 我知道有一种消息传递系统(JS发送一些消息和C++代码来处理消息)。除了消息传递系统,JS还有其他方式可以与本机客户端模块通信吗
例如,在JS中单击start调用本地客户端模块的m_client->start函数。在JS中单击stop调用本地客户端模块的m_client->stop函数。否,消息传递API(即PostMessage)是JavaScript和NaCl模块可以直接通信的唯一直接方式 您可以实现类似于您所描述的内容:如何在JavaScript和本机客户端模块之间通信 我知道有一种消息传递系统(JS发送一些消息和C++代码来处理消息)。除了消息传递系统,JS还有其他方式可以与本机客户端模块通信吗,javascript,c++,google-nativeclient,Javascript,C++,Google Nativeclient,例如,在JS中单击start调用本地客户端模块的m_client->start函数。在JS中单击stop调用本地客户端模块的m_client->stop函数。否,消息传递API(即PostMessage)是JavaScript和NaCl模块可以直接通信的唯一直接方式 您可以实现类似于您所描述的内容: // JavaScript startButtonEl.addEventListener('click', function(e) { naclModuleEl.postMessage('sta
// JavaScript
startButtonEl.addEventListener('click', function(e) {
naclModuleEl.postMessage('start');
}, false);
当然,这将异步向NaCl发送消息。开发中有一个新的API,允许与NaCl模块进行同步通信:
// JavaScript
startButtonEl.addEventListener('click', function(e) {
var response = naclModuleEl.postMessageAndAwaitResponse('start');
// do something with the response
}, false);
但这在Chrome Stable中目前还不可用(它最近登陆Chrome,请参见此处的错误:)