先簡單介紹一下這個webkit核心
webkit 是乙個開源的
瀏覽器引擎,與之相對應的引擎有
gecko
(mozilla
firefox 等使用)和
trident
(也稱mshtml,ie
使用)。同時webkit
也是蘋果mac os x 系統引擎框架版本的名稱,主要用於
safari
,dashboard
和其他一些
mac os x
程式。webkit 前身是 kde 小組的 khtml,webkit 所包含的 webcore
排版引擎
和 jscore 引擎來自於
kde的
khtml
和 kjs,當年蘋果比較了 gecko 和 khtml 後,仍然選擇了後者,就因為它擁有清晰的
原始碼結構、極快的
渲染速度。
將 khtml 發揚光大,推出了裝備 khtml 改進型 webkit 引擎的
瀏覽器safari。
webkit 核心在手機上的應用也十分廣泛,例如 google 的手機
android
、webkit是開源的web瀏覽器引擎,蘋果的safari、谷歌的chrome瀏覽器都是基於這個框架來開發的。webkit 還支援移動裝置和手機,包括iphone和android手機都是使用webkit做為瀏覽器的核心。
blzfans發布的開源免費核心,乙個相當好的**,在此先感謝blzfans的工作!
這個wke核心是為了在3d遊戲中嵌入網頁和flash而開發的,支援最新的html5和css3技術,相容性和速度都不錯。
今天花了一上午把這個核心封裝為了duilib的瀏覽器控制項,效果如下。
封裝起來還是挺順利的,有自帶的win32demo,了解了他的工作過程,使用這個核心很簡單,乙個標頭檔案,乙個庫檔案,乙個dll,只有這個3個檔案。我在duilib裡,仿照了cricheditui的封裝過程。製作了cwkewebkitui控制項作為瀏覽器控制項。這個cwkewebkitu控制項繼承了ccontrolui控制項,來更好的相容duilib,然後在控制項內部我封裝了cwkewebkitwnd類,cwkewebkitu控制項初始化時會建立cwkewebkitwnd類,這個cwkewebkitwnd類會使用createwindow函式先建立乙個子窗體,並且使用了ws_visible
| ws_child | ws_clipsiblings | ws_clipchildren樣式,ws_child讓這個新建的窗體成為主窗體的子窗體,然後新增ws_clipsiblings | ws_clipchildren樣式,這兩個樣式很關鍵,他可以讓主窗體重新整理時不去重新整理子窗體,否則不加這個樣式,就會因為主窗體頻繁的重新整理導致瀏覽器控制項的卡頓。解決了核心問題,然後就是處理webkit核心的訊息,仿照了原代的demo,我把各個訊息處理後,就封裝好了這個控制項,並且增加了幾個簡單的介面來方便外部的呼叫。
結束,休息一下~~
2014.7.25 15:50 redrain
將Nginx封裝為Windows服務並自啟動
建立nginx service.exe.config 為支援net 4.0 runtime,預設只支援net 2.0 runtime 檔案結構如下 nginx service.xml 內容如下 nginx nginx service high performance nginx service d ...
將VBA操作封裝為DLL元件並在EXCEL中呼叫
使用程式 1 microsoft office excel 2003 2 microsoft visual basic 6.0 案例 在工作表的c1單元格得出a1單元格 b1單元格的值。設計的vba sub test on error resume next range c1 cells 1,1 c...
將伺服器響應封裝為乙個泛型類
返回前端資料封裝 當序列化json物件時,如果是null的物件,key也會消失 jsonserialize include jsonserialize.inclusion.non null public class serverresponseimplements serializable priv...