封装接口分三步:
1、在PluginAPI的构造函数中调用注册方法函数registerMethod("xxx", make_method(this, &PluginAPI::xxx));
2、在类中声明xxx接口;
3、在PluginAPI.cpp中定义xxx函数的实现。
设置回调分三步:
1、在PluginAPI的构造函数中调用注册事件宏FB_JSAPI_EVENT(事件,参数个数,(各参数类型));
2、在需要触发事件的位置调用fire_事件(各个参数);
3、在js层注册事件并且实现事件的处理流程,注册事件老版ie使用attachEvent("on"+name, func),新点的ie使用addEventListener(name, func, false),然后记得将事件和处理流程绑定addEvent(this.plugin, 'UI_process', processEvent)。
为插件添加Property属性分两步:
1、在PluginAPI的构造函数中调用;
registerProperty("xxx",
make_property(this,
&PluginAPI::get_xxx, //设置可读属性
&PluginAPI::set_xxx)); //设置刻写属性
2、在js层直接读取或修改xxx属性。
如何获取DOM的属性,回调DOM的方法
FB::DOM::WindowPtr window = m_host->getDOMWindow();
FB::JSObjectPtr obj;
if (window && window->getJSObject()->HasProperty("window")) {
obj = window->getProperty<FB::JSObjectPtr>("window");
xxx = window->getNode("元素id")->getProperty<std::string>("要获取的属性");
obj->Invoke("alert", FB::variant_list_of("xxx"));
}
网友评论