【发布时间】:2012-08-29 06:55:51
【问题描述】:
我正在编写一个简单的 napapi 插件,我必须在其中打印从 html 页面中的 javascript 函数传递的值。但是我在这样做时遇到了问题。它在Firefox上正常工作。但我想在 qt fancybrowser 示例中执行此操作。无论我在 javascript 代码中传递什么值,打印的值始终为 0。
javascript代码如下:
<html>
.....
<script>
function process_data()
{
PluginObject = document.getElementById("Object");
var i =100;
if(PluginObject){
ret = PluginObject.process_Data(i);
}
}
</script>
....
</html>
插件代码如下:
.....
bool ScriptableObject::process_Data(const NPVariant* args, uint32_t argCount, NPVariant* result)
{
printf(" process_Data\n");
printf("\t argCount : %d\n",argCount);
int tempi =args[0].value.intValue;
int tempf =args[0].value.doubleValue;
printf("type: %d type: %u\n",args[0].type,args[0].type);
printf("tempi : %d tempf : %f\n",tempi,tempf);
}
......
输出如下:
process_Data
argCount : 1
type: 4 type: 4
tempi : 0 tempf : 0.000000
实际上它应该打印 100,这是从 javascript 传入 var i 的值。
欢迎任何建议/cmets
提前致谢
【问题讨论】:
标签: javascript npapi qtwebkit browser-plugin