HTML 페이지의 자바 스크립트 함수에서 전달 된 값을 인쇄해야하는 간단한 napapi 플러그인을 작성했습니다. 그러나 나는 그것을하는 동안 문제에 직면하고있다. 파이어 폭스에서 제대로 작동합니다. 하지만 Qt fancybrowser 예제에서이 작업을 수행하려고합니다. 인쇄 된 값은 자바 스크립트 코드에서 전달하는 값이 무엇이든 관계없이 항상 0입니다.자바 스크립트에서 npapi 플러그인에 정수를 전달할 수 없습니다.
process_Data
argCount : 1
type: 4 type: 4
tempi : 0 tempf : 0.000000
실제로는 (100)을 출력한다 : 다음
.....
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);
}
......
출력은 다음과 같이
<html>
.....
<script>
function process_data()
{
PluginObject = document.getElementById("Object");
var i =100;
if(PluginObject){
ret = PluginObject.process_Data(i);
}
}
</script>
....
</html>
플러그인 코드는 다음과 같이
자바 스크립트 코드는 이 값은 javascript에서 var i로 전달 된 값입니다.
모든 제안/의견은 사전에 오신 것을 환영합니다
감사
이것은 버그가 아니며 Javascript는 int/float와 NPAPI가 특정 동작을 정의하지 않았 음을 구분하지 않습니다. –