FireBreath筆記

封裝接口分三步:

1、在PluginAPI的構(gòu)造函數(shù)中調(diào)用注冊(cè)方法函數(shù)registerMethod("xxx", make_method(this, &PluginAPI::xxx));
2、在類中聲明xxx接口;
3、在PluginAPI.cpp中定義xxx函數(shù)的實(shí)現(xiàn)。

設(shè)置回調(diào)分三步:

1、在PluginAPI的構(gòu)造函數(shù)中調(diào)用注冊(cè)事件宏FB_JSAPI_EVENT(事件,參數(shù)個(gè)數(shù),(各參數(shù)類型));
2、在需要觸發(fā)事件的位置調(diào)用fire_事件(各個(gè)參數(shù));
3、在js層注冊(cè)事件并且實(shí)現(xiàn)事件的處理流程,注冊(cè)事件老版ie使用attachEvent("on"+name, func),新點(diǎn)的ie使用addEventListener(name, func, false),然后記得將事件和處理流程綁定addEvent(this.plugin, 'UI_process', processEvent)。

為插件添加Property屬性分兩步:

1、在PluginAPI的構(gòu)造函數(shù)中調(diào)用;

registerProperty("xxx",
        make_property(this,
        &PluginAPI::get_xxx,    //設(shè)置可讀屬性
        &PluginAPI::set_xxx));  //設(shè)置刻寫屬性

2、在js層直接讀取或修改xxx屬性。

如何獲取DOM的屬性,回調(diào)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"));
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第3章 基本概念 3.1 語(yǔ)法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡(jiǎn)單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,527評(píng)論 0 21
  • ??JavaScript 與 HTML 之間的交互是通過事件實(shí)現(xiàn)的。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,701評(píng)論 1 11
  • JavaScript的組成 JavaScript 由以下三部分組成:ECMAScript(核心):JavaScri...
    紋小艾閱讀 4,428評(píng)論 0 3
  • 關(guān)于前端性能優(yōu)化問題詳解 出處:http://segmentfault.com/blogs 前端性能優(yōu)化指南 AJ...
    bennnnn閱讀 1,720評(píng)論 2 4
  • 感賞今天孩子情緒還好,下午沒睡覺。投射今晚早些睡覺。 感賞先生身體檢查無大礙,投射身體健康,越來越好。
    春天_a23d閱讀 72評(píng)論 0 0

友情鏈接更多精彩內(nèi)容