跳转到内容

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. 

外部链接

[编辑]

参见

[编辑]