我正在研究一個需要接收來自javascript的調用的插件。具體來說,它需要能夠給JavaScript一個回調函數,並且JavaScript需要能夠稍後使用至少一個字符串參數來調用該函數。 JavaScript的看起來是這樣的(理想):如何使用NPAPI從頁面上的JavaScript接收呼叫?
3210我想象我的C代碼看起來像這樣,到目前爲止:
void SetCallback(void (*callback)(const char*)) {
NPVariant npCallback;
OBJECT_TO_NPVARIANT(callback, npCallback);
NPVariant args[] = { npCallback };
size_t nargs = 1;
NPVariant result;
// gFuncs is an NPNetscapeFuncs pointer
NPIdentifier method = gFuncs->getstringidentifier("setCallback");
// gJavaScriptAPI is an NPObject pointer
gFuncs->invoke(gInstance, gJavaScriptAPI, method, args, nargs, &result);
}
這是一個良好的開端?如果是這樣,我需要在回調函數中處理對它的調用?如果沒有,做這種事情的正確方法是什麼,或者在NPAPI中不可行?
預先感謝您。
感謝您的回覆和鏈接! – itfische 2011-04-06 16:39:26
不客氣...有沒有你沒有選擇答案的原因?如果不是這樣,你能澄清一下是什麼嗎? – taxilian 2012-01-05 16:43:02