khtml
KHTML是由KDE项目开发的一种HTML网页排版引擎,最初作为Konqueror浏览器的排版引擎,但自2016年起开发活动停止,并于2023年正式停用。KHTML基于KParts框架,以C++编写,在其辉煌时期对网页标准的支持较好。KHTML的分支引擎被世界上最广泛使用的浏览器所采用,包括WebKit(Safari)和Blink(谷歌 Chrome、Chromium、Microsoft Edge、Opera、Vivaldi和Brave)。
软件简介
该引擎以C++编程语言编写,并使用LGPL授权,支持大多数网页浏览标准。由于微软的Internet Explorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎兼容更多页面,同时也支持部分IE专属语法。
以下软件均使用到了KHTML:
发展历史
KHTML的前身是一个名为khtmlw的早期引擎,由Torben Weis和Martin Jones开发,支持HTML 3.2、HTTP 1.0和HTML框架,但不支持W3C DOM、层叠样式表或ECMAScript。KHTML本身诞生于1998年11月4日,作为khtmlw库的一个分支,经过重构并增加了Unicode支持。1999年,Lars Knoll开始研究实现W3C DOM规范,并在同年8月16日宣布了对KHTML库的彻底重写,这使得KHTML在1999年10月初次添加了对JavaScript的支持。随后,KHTML在2000年3月完成了CSS支持的添加,并成为了继Internet Explorer之后第二个正确支持希伯来语、阿拉伯语和从右到左书写的语言的浏览器。KHTML已计划在KDE Frameworks 6中移除,活跃开发于2016年结束,只进行必要的维护以与Frameworks 5的更新一起工作。该引擎于2023年正式停止使用。
功能和特色
软件特点
KHTML拥有速度快捷的优点,但是对语法的内容要求则比Mozilla Application Suite产品所使用的Gecko引擎更加严格。麦金塔于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及历史版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。由于两个衍生产品各走不同路线,使两者源代码差异较大,结果难以与KDE交换更新。其中一个原因,是苹果公司在对外公开源代码之前,以一年时间编修他们的KHTML。另外,苹果传送更新至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送。再者,苹果所作出的改动包括Mac OS X系统的特有功能,如Objective-C、KWQ等,在Linux及KHTML是没有的。但KDE方面仍透过这些改动,为KHTML加入新功能并且加快其排版速度。
兼容的标准
KHTML引擎支持下列标准:
标准合规性
KHTML引擎在其发展过程中,对Web标准的支持不断增强。除了已经支持的HTML 4.01、CSS 1和CSS 2.1,KHTML还增加了对HTML 5、CSS 3选择器(自KDE 3.5.6起完全支持)、CSS 3其他功能(如多种背景、框大小和文本阴影)、DOM 1、2和部分3、ECMA-262/JavaScript 1.5以及部分可缩放矢量图形(SVG)的支持。
社会影响
Apple在2002年采用KHTML和KJS作为Safari浏览器的基础,并公布了其对KHTML引擎所分支的源代码,命名为WebKit。2013年,谷歌开始开发WebKit的一个分支,命名为Blink。这些分支引擎的发展,使得KHTML的技术和理念得以在当今广泛使用的浏览器中继续发挥作用。
参考资料
Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike.com/id.php on line 280