我正在寫一個簡單的napapi插件,我必須在html頁面中打印從javascript函數傳遞的值。但是我在做這件事的時候遇到了問題。它在Firefox上正常工作。但我想用qt fancybrowser的例子來做。無論我通過javascript代碼傳遞的值是多少,打印的值始終爲0。無法將整數從javascript傳遞到npapi插件
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中傳遞的值。
任何建議/評論都是提前歡迎
感謝
這不是一個錯誤,Javascript不區分int/float和NPAPI沒有在這裏定義一個特定的行爲。 –