跳至內容

KHTML

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
KHTML
Konqueror使用KHTML渲染荷蘭語維基百科首頁
開發者KDE
原始碼庫 編輯維基數據連結
程式語言C++
作業系統跨平台
類型排版引擎
許可協定GNU較寬鬆公共授權條款

KHTML是一款已停止開發的瀏覽器引擎,由KDE專案所開發[1]。它起源於1990年代後期,最初作為Konqueror瀏覽器的引擎,但其活躍開發於2016年停止[2]。KHTML在2023年正式宣布棄用[1]。KHTML建構於KParts框架之上並以C++編寫,在全盛時期對網頁標準有着相當不錯的支援。從KHTML分支出來的引擎被現今大多數主流瀏覽器所採用,包括WebKitSafari)以及BlinkGoogle ChromeMicrosoft EdgeOperaVivaldiBrave)。

歷史

[編輯]

起源

[編輯]

KHTML的前身是由Torben Weis與Martin Jones開發的「khtmlw」(或稱為KDE HTML Widget)引擎[3][4],該引擎實作了對HTML3.2、HTTP1.0及HTML框架的支援,但並不支援DOMCSSJavaScript

KHTML本身誕生於1998年11月4日[3],它是從khtmlw函式庫分叉而來,進行了一些輕量化的重構,並增加了Unicode支援以及為了遷移至Qt 2所做的變更。Waldo Bastian[5]是當時建立早期版本KHTML的開發者之一[3]

重寫與改進

[編輯]

KHTML真正的開發工作實際上始於1999年5月至10月間,當時專案意識到面臨的選擇是「要不投入大量資源推動KHTML進展,要不就使用Gecko[3],並將加入JavaScript支援列為最高優先事項。因此在1999年5月,Lars Knoll[6]開始進行以實作DOM規範為目標的研究,最後於1999年8月16日宣布[7]他已經提交了[8]相當於完全重寫KHTML函式庫的程式碼——將KHTML改為使用標準DOM作為其內部檔案表示結構。這進而讓1999年10月開始能加入初步的JavaScript支援[3],隨後不久便由Harri Porten整合了KJS

在1999年的最後幾個月與2000年的最初幾個月中,Knoll與Antti Koivisto及Dirk Mueller[3][9][10]進一步合作以加入CSS支援,並優化且穩定KHTML的架構[3],大部分工作於2000年3月完成。這些改進使KHTML成為繼Internet Explorer之後,第二個正確支援希伯來語阿拉伯語由右至左書寫語言的瀏覽器[3]——且早於Gecko提供相關支援。

KDE 2.0是第一個包含KHTML的KDE版本(於2000年10月23日發布)[11](作為新版Konqueror檔案網頁瀏覽器的渲染引擎,該軟件取代了單體式的KDE檔案管理器)。

其他模組

[編輯]

KSVG最初由Nikolas Zimmermann與Rob Buis於2001年開發,然而到2003年,決定將當時的KSVG實作分叉為兩個新專案:KDOM/KSVG2(旨在SVG1.0渲染狀態下改進KHTML的DOM渲染狀況)以及Kcanvas(旨在將khtml/ksvg2內的任何渲染抽象化到單一共用函式庫中,並提供多種後端,例如Cairo/Qt等)[12]

KSVG2也是WebKit的一部分[13]

停止維護

[編輯]

KHTML預定於KDE Frameworks 6中移除[2]。主動開發已於2016年結束,僅保留配合Frameworks 5更新所需的必要維護。該引擎於2023年正式停止支援[1]

標準相容性

[編輯]

KHTML引擎支援下列標準:

參考資料

[編輯]
  1. ^ 1.0 1.1 1.2 KHTML repository. GitHub. [5 May 2023]. Removed for KF6, the 'kf5' branch contains the last maintained state. 
  2. ^ 2.0 2.1 Port Konqueror away from KHTML. phabricator.kde.org. [2023-05-05]. 
  3. ^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Lars Knoll and George Staikos: From KDE to WebKit. YouTube. 26 August 2011 [1 September 2019]. 
  4. ^ KDE/kde1-kdelibs/khtmlw. GitHub. [2020-01-23] (英語). 
  5. ^ Waldo Bastian. Behindkde.org. [1 September 2019]. (原始內容存檔於11 April 2023). 
  6. ^ Lars Knoll. Behindkde.org. [1 September 2019]. (原始內容存檔於1 September 2019). 
  7. ^ 'changes in KHTML' - MARC. Marc.info. [1 September 2019]. 
  8. ^ 'khtml_to_dom: kdelibs/khtml' - MARC. Marc.info. [1 September 2019]. 
  9. ^ WebKit Team – WebKit. Trac.webkit.org. [1 September 2019]. 
  10. ^ Dirk Mueller. Behindkde.org. [1 September 2019]. (原始內容存檔於1 September 2019). 
  11. ^ Lars Knoll and George Staikos: From KDE to WebKit. YouTube. 26 August 2011 [1 September 2019]. 
  12. ^ Archived copy. [2008-11-17]. (原始內容存檔於2016-03-03). 
  13. ^ The WebKit Open Source Project. Webkit.org. 7 November 2015 [1 September 2019]. 
  14. ^ KDE 3.5.6 Changelog. K Desktop Environment. 

外部連結

[編輯]

參見

[編輯]