:我得到一个JavaScript错误Error calling method on NPObject
调用在Chrome和Firefox在XP上我的NPAPI插件的方法时。 运行使用相同的浏览器在Windows 7相同的代码是成功的。
我已经建立了使用NPAPI一个脚本化的插件,到目前为止,我可以调试到Invoke
我的脚本化的对象的方法。 但我不相信我有它的完成后的任何控制。
有没有人有什么想法? 这只是在Windows XP中的一个问题?
bool MY_ScriptableObject::Invoke(NPObject* npobj,
NPIdentifier name,
const NPVariant* args,
uint32_t argCount,
NPVariant* result)
{
bool rc = true;
char* wptr = NULL;
rc = false;
wptr = NULL;
if (name == NPN_GetStringIdentifier("getVersion"))
{
wptr = (NPUTF8*)NPN_MemAlloc(strlen("version:1.0.1") + 1); //Should be freed by browser
if (wptr != NULL)
{
rc = true;
memset(wptr,
0x00,
strlen("version:1.0.1")+1);
memcpy(wptr,
"version:1.0.1",
strlen("version:1.0.1"));
STRINGZ_TO_NPVARIANT(wptr,
*result);
}
}
return (rc);
}
下面是我执行HTML功能:
function Version()
{
var plugin = document.getElementById("plugin");
if (plugin == undefined)
{
alert("plugin failed");
return;
}
var text = plugin.getVersion(); //Error happens at this line
alert(text);
}