我得到一個JavaScript錯誤方法:Error calling method on NPObject
在Chrome &火狐在XP上我的NPAPI插件調用方法時。在Windows 7上使用相同的瀏覽器運行相同的代碼是成功的。編寫腳本插件:錯誤呼籲NPObject
我已經建立了使用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);
}
格式的代碼相當understable狀態,漂亮嗎? –
林不知道如何格式化我的代碼有什麼問題? – hapyfishrmn
已經爲你做了這個... –