1. 程式人生 > >單標籤頁簡易瀏覽器實現

單標籤頁簡易瀏覽器實現

一個只有一個標籤頁的簡易瀏覽器

這裡寫圖片描述

具有以下功能:

  • 可以記錄瀏覽記錄,可前進後退
  • 可以重新整理當前網頁
  • 可以輸入網址並且通過Enter鍵或者右側的按鈕發起導航
  • 具有比較人性化的介面

引子

首先,為什麼要寫這麼一個簡單的瀏覽器呢?

這是因為工作使然。工作上正好想要在當前的PC客戶端軟體裡嵌入一個瀏覽器,可以使用C++程式碼呼叫Js,也可以使用Js呼叫C++程式碼,這個demo也就相當於這個需求的前導調研了。

參考技術

首先,這個demo來源於SOUI開源介面庫。這裡我將SOUI的開源庫裡面的demo中的瀏覽器給生生的摳了出來,優化了下介面和部分邏輯。

其中,瀏覽器核心使用的是wke。因為wke足夠簡單,對於我這種剛瞭解瀏覽器核心的人來說,再適合不過了,而且wke的功能也比較強大,編譯出來的檔案也非常小。

實現步驟

  1. 建立一個SOUI介面,書寫基本的xml佈局。

    想要了解SOUI的請點選這裡。基本上對於SOUI有一定了解的,這一步都不難,也就不再贅述了。

  2. 將wke核心抽象為SOUI的一個視窗瀏覽器控制元件類。

    這關鍵的一步,SOUI的demo裡面已經完成的非常好了,請參照程式碼即可。完成了這一步,基本就可以完成網頁的顯示了。

  3. 建立標籤頁類。

    參照SOUI的demo可見。不再贅述。

思路總結

總而言之,我只是站在了兩位巨人的肩膀上。一個是SOUI的作者,另一個是wke的作者。後者封裝了webkit弄出來了一個小巧強大的瀏覽器核心,前者將其封裝成了介面的一個控制元件。
學習新東西的最好辦法,就是依樣畫葫蘆,做一些自己喜歡的東西,然後改進它,深入底層瞭解它。

程式碼分享

想要原始碼的同學,可以先配置好SOUI環境,然後下載本人的程式碼編譯即可。專案程式碼在SingleTab_MyBrowser裡獲得即可。