Error calling method on NPObject
XP 上の Chrome および Firefox で NPAPI プラグインのメソッドを呼び出すと、JavaScript エラーが発生します。同じブラウザーを使用して 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);
}