基于Chrome内核(WebKit内核)定制开发DoNet浏览器
1.??? 源起
a)???? 定制.Net瀏覽器
本人是一名C#開發(fā)者,而作為C#開發(fā)者,做客戶端應(yīng)用中最頭痛的一件事就是沒有一個(gè)好的UI解決方案, WinFrom嘛,效率雖然還不錯(cuò),但是做一些特殊的效果,完全應(yīng)付不來,比如透明控件。比FPS太低有時(shí)候界面閃動得厲害。而WPF呢,內(nèi)用內(nèi)存又太高,效率有時(shí)候跟不上,而且還可能會出現(xiàn)內(nèi)存泄露!出于以上的原因,博主一直在尋找一個(gè)好的UI解決方案,最終選定CEF。(至于CEF是什么我就不解釋了,可以百度!),在C#中CEF的一個(gè)開源項(xiàng)目,名稱叫做CEFGLUE。
b)???? 加快葬送IE6瀏覽器的進(jìn)程
世界上使用IE6瀏覽器最多的地方在中國,中國使用IE6瀏覽器最多的地方在企業(yè)中,讓他們自己去裝個(gè)chorme太難了,索性開發(fā)個(gè)瀏覽器(其實(shí)是瀏覽器的外殼,并且我們可以做的一個(gè)十分絢麗便捷的外殼)給他們,一勞永逸的解決瀏覽器兼容問題,各種瀏覽器的CSS hack問題再也不用擔(dān)心了,甚至公司里前端的職位也可以減少幾個(gè)了。
c)???? 更方便的使用更強(qiáng)大的HTML5
寫HTML5的樣式,需要考慮各種的瀏覽器獨(dú)有的東西,比如:-webkit-transform;-moz-transform;-ms-transform;-o-transform;現(xiàn)在我們只有一個(gè)瀏覽器,根本就不用考慮這些。使用chorme核心能支持更多的HTML5特性。
d)???? 更快的JS執(zhí)行引擎V8
谷歌瀏覽器JS執(zhí)行引擎是目前公認(rèn)的最快的JS執(zhí)行引擎(沒有之一), 執(zhí)行ExtJs之類的界面庫速度非常快(ExtJs也是企業(yè)應(yīng)用中常用的界面腳本庫)
e)???? WebKit核心
目前最快的瀏覽器核心,目前使用面最廣的瀏覽器核心(谷歌瀏覽器、蘋果瀏覽器都用這個(gè)核心),對開發(fā)人員最友好的瀏覽器核心(社區(qū)支持很給力)
f)???? 基本上無版權(quán)之憂
用到的所有技術(shù)都是開源的(在天朝基于什么開源協(xié)議就不要深究了)
g)???? 調(diào)試JS更方便
采用谷歌瀏覽器的調(diào)試工具,跟firebug調(diào)試JS的方式相似
2.??? 把CEF配置并正確運(yùn)行起來
a)???? 下載Cefglue框架。點(diǎn)我進(jìn)入官網(wǎng)
點(diǎn)擊Source Code,然后進(jìn)入另一個(gè)頁面,點(diǎn)擊Download
然后再跳到另一個(gè)頁面,找到最新的版本,點(diǎn)擊ZIP下載
?
b)???? 接下來就要下載CEF了,在下載CEF之前,我們需要知道該版本的CEFGLUE支持哪個(gè)版本的CEF。?我們可以在Commet,提交的信息中看到作者更新到了哪一個(gè)版本。
C)下載CEF內(nèi)核。點(diǎn)我進(jìn)入官網(wǎng)下載?
點(diǎn)擊More Versions就可以看到更多版本
d)???? 把CEFGLUE項(xiàng)目源碼解壓出來,并用VS打開,打開后,發(fā)現(xiàn)有10個(gè)項(xiàng)目,有一部分并不是必須的,為了更簡單明了,卸載(也可以直接移除)掉一些不必要的項(xiàng)目,只留下如下圖的三個(gè),并把CefGlue.Samples.WpfOsr設(shè)為啟動項(xiàng)目。然后把項(xiàng)目全部改為X86的方式編譯,然后.NET版本改為4.0,然后如果CEFGLUE中的項(xiàng)目屬性--調(diào)試下面的啟用Visualstudio承載進(jìn)程的勾如果是勾上的,請去掉。然后把下載好的CEF內(nèi)核解壓,把Release下面的東西全部復(fù)制到CefGlue.Samples.WpfOsr項(xiàng)目的bin/Debug低下。
e)???? DEMO就正常運(yùn)行起來了。。。如下圖,是一個(gè)瀏覽器
3.??? UI改造
WpfCefBrowser 控件封裝了好多瀏覽器常用的功能函數(shù),比如前進(jìn)后退等,還支持用C#調(diào)用JS函數(shù)等好多功能,然后我們就可以根據(jù)UI設(shè)計(jì)師設(shè)計(jì)的界面進(jìn)行改造界面了。函數(shù)封裝截圖
?
?
?
本文章根據(jù)原作者Xdoudou編纂,原文地址:
http://www.cnblogs.com/xdoudou/p/3748143.html
?
?
?
出處:https://www.cnblogs.com/shanranlei/p/5082904.html
轉(zhuǎn)載于:https://www.cnblogs.com/mq0036/p/11059604.html
總結(jié)
以上是生活随笔為你收集整理的基于Chrome内核(WebKit内核)定制开发DoNet浏览器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五大主流浏览器内核以及国内常见的几种浏览
- 下一篇: C++语言中multiset的相关用法及