Chromium Embedded Framework html
顧名思義,內嵌式CHROME,詳細的介紹參閱 程序員
http://yogurtcat.com/posts/cef/hello-cef.html chrome
爲何要考慮選擇CEF 瀏覽器
一、 目前市場上瀏覽器種類不少,每種的版本也不少,即便咱們使用了成熟的UI框架也不能保證每一個JS在每種瀏覽器上都成兼容,程序員也不可能在各類瀏覽器上調試後再發布 框架
二、 一卡通涉及本地硬件資源操縱(如串口、USB、局域網、UKey),傳統方法是製做ActiveX控件,讓控件與JS進行交互,這種方法比較脆弱,且安裝麻煩,最關鍵:通常只在IE上正常工做,多數瀏覽器不能穩定支持ActiveX 異步
參閱: 函數
http://mozilla.com.cn/post/35931/ post
http://activex-for-chrome.softonic.cn/ 性能
CEF在一卡通上如何應用 測試
一、 不須要操縱本地硬件資源的操做員(如增刪改查數據、查看報表),能夠繼續直接使用瀏覽器訪問平臺(仍然可能存在兼容性問題)
二、 經過發佈安裝包,以WINFORM的方式在本地運行程序,固定使用某個版本的CEF,至關於固定使用了某個版本的瀏覽器,規避兼容性問題。即在一個CS程序中嵌入了瀏覽器,但平臺仍然是以BS爲主。
三、 須要操縱本地硬件資源時,由JS經過HTTP向WINFORM(開有HTTP監聽)傳遞消息,執行相關功能,即將原來ActiveX的功能遷移到winform中,規避瀏覽器兼容ActiveX問題以及解決ActiveX執行不穩定(以及性能低下)的問題
四、 使用VS2013提供的net native功能,將winform程序本地化,提高執行效率,保護軟件不輕易被破解。
案例
一卡易就使用了相似的技術
DEMO
提供一個網頁,內置2個函數,一個供C#調用,一個經過HTTP調用C#
在CEF程序中打開這個網頁,執行相關功能,以下圖:
l 點擊網頁中的第一個按鈕
l 點擊WINFORM中的TOOL菜單 中的測試菜單
點擊頁面中的第三個按鈕,經過AJAX異步HTTP訪問WINFORM
(目前CEF3還不支持直接回調WINFORM,早期的CEF1支持,未來也應該會支持,可是回調不如HTTP訪問靈活)