阅读:4506回复:3
在插件中怎样回调javascript中的函数?
如题。
主要是想实现javascript向插件注册回调函数的机制。 首先是我在javascript中调用插件的函数: plugin.addEventListener(topid,fun,capture) //这是说明用的伪代码 其中第二个参数fun是一个javascript中的函数。这个参数fun到了插件内部时,已经被封装成了一个NPObject (就是NPClass和一个引用计数)。 伪代码: plugin::Invoke(NPIdentifier name, const NPVariant *args,uint32_t argCount, NPVariant *result) (fun这个参数被封装到NPVariant 中,其NPVariant.value就是NPObject ) 我的问题是,在插件里面,我怎样根据这个NPObject(或者说是NPClass),去调用对应的javascript函数呢? |
|
1楼#
发布于:2008-10-22 16:18
试了无数次,终于试出来了。
用 NPN_InvokeDefault() 其中的NPP参数不能是空。 |
|
2楼#
发布于:2008-10-22 16:18
这样就可以实现javascript中动态的注册事件监听了(用addEventListener()来注册)。
还需要实现静态的事件监听,就是在javascript以 <script for="plugin id" event="event string"> 格式来注册事件监听。 谁有相关的建议或资料吗? |
|
3楼#
发布于:2008-10-22 16:18
没有写过plugin,楼主在MDC里面翻吧
|
|