[英]How do you pass a variable from javascript to python (oTree) or django?
[英]How do you pass a variable from JavaScript to C++ in PPAPI?
我正在查看某人的代码(不可联系),他们已经设置了一个与服务器对话并运行一些C ++代码的websocket客户端。 这是用于新的Chrome PPAPI。 我可以将变量从客户端传递到服务器,但是我不确定如何将其中继到C ++端以更改代码中发生的事情?
因此,如果客户端传递1,则C ++代码执行一件事,如果传递2,则另一件事。 我只是看不到它是怎么做的。
似乎可以启动C ++代码运行的JavaScript是:
function onStartTest(e)
{
console.log('Start Test');
var hostname = document.getElementById('hostname').value;
var message = 'start:'+hostname;
common.logMessage(message);
common.naclModule.postMessage(message);
e.preventDefault();
return false;
}
我看了几个例子都没有用。
来自JavaScript的所有异步消息都在pp :: Instance中定义的HandleMessage函数中处理:
class MyInstance : public pp::Instance {
...
virtual void HandleMessage(const pp::Var& message) {
...
}
};
在您的示例中,您正在发送一个字符串值。 要提取它,可以使用pp :: Var :: AsString方法:
virtual void HandleMessage(const pp::Var& message) {
if (message.is_string()) {
std::string str_message = message.AsString();
...
}
}
如果您只想传递数字,也可以这样做:
virtual void HandleMessage(const pp::Var& message) {
if (message.is_int()) {
int32_t int_message = message.AsInt();
switch (int_message) {
case 1: ...
case 2: ...
}
}
}
请查看此处的文档以获取更多信息。 您可以发送ArrayBuffers,甚至可以发送任意对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.