如何使用NPAPI从页面上的javascript接收呼叫?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用NPAPI从页面上的javascript接收呼叫?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1343字,纯文字阅读大概需要2分钟。
内容图文
![如何使用NPAPI从页面上的javascript接收呼叫?](/upload/InfoBanner/zyjiaocheng/798/18b5aa35a7624b4f974dbecd4543dd5c.jpg)
我正在开发一个需要接收来自javascript的调用的插件.具体来说,它需要能够为javascript提供回调函数,并且javascript需要能够稍后使用至少一个字符串参数调用该函数. javascript看起来像这样(理想情况下):
var callback = null;
var setCallback = function(cb) {
var callback = cb;
};
var input = document.getElementById('my_text_input_field');
input.onkeypress = function(ev) {
// Did the user press enter?
if (ev && ev.which == 13) {
callback(input.value);
return false;
}
};
到目前为止,我想象我的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中是不可能的?
先感谢您.
解决方法:
基本上你需要做的是提供一个实现InvokeDefault的NPObject;您将其传递回页面以响应某些Invoke或GetProperty调用,然后javascript可以随时使用您想要的任何参数将其作为函数调用.
有关NPObject的更多信息,请参阅http://npapi.com/tutorial3
FireBreath抽象所有这些,以便90%的繁重工作为您完成;如果你没有看过它我强烈推荐它.
内容总结
以上是互联网集市为您收集整理的如何使用NPAPI从页面上的javascript接收呼叫?全部内容,希望文章能够帮你解决如何使用NPAPI从页面上的javascript接收呼叫?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。