QT CEF 使用JavaScript访问C++函数之参数问题
大家都知道JavaScript是弱类型语言,当我们使用var 声明变量时,类型其实并不明确。
使用CEF V8,接收JS函数时,如果参数我们需要传入数字,最好使用Number去转换一下,否则C++解析参数时可能会出现错误。
示例如下:
页面函数
function test()
{
var age = $("#input_age").val();//年龄
window.Hello(age);
}
c++ 函数
if (name == "Hello")
{
int age = arguments[0]->GetIntValue();
//此时age = 0 ;
}
我们应该修改页面函数
function test()
{
var age = $("#input_age").val();//年龄
window.Hello(Number(age)); //此时c++使用int接收就是正常值了
}