Konqueror using KHTML to render the Dutch front page in 2009.
|
|
Developer(s) | KDE |
---|---|
Stable release | 4.13.2 (June 6, 2014 | )
Preview release | 4.12.97 (March 27, 2014 | )
Written in | C++ |
Operating system | Cross-platform |
Type | Layout engine |
License | GNU Lesser General Public License |
KHTML is a HTML layout engine developed by the KDE project. It is the engine used by the Konqueror web browser. Descendants of KHTML are used by some of the world's most popular browsers, among them Google Chrome, Safari and Opera. Distributed under the terms of the GNU Lesser General Public License, KHTML is free software.
Built on the KPart framework and written in C++, KHTML has relatively good support for Web standards. To render as many pages as possible, some extra abilities and quirks from Internet Explorer are also supported, even though those are non-standard.
KHTML was preceded by an earlier engine called khtmlw or the KDE HTML Widget, developed by Torben Weis and Martin Jones, which implemented support for HTML 3.2, HTTP 1.0, and HTML frames, but not the W3C DOM, CSS, or scripting.
KHTML itself came into existence on November 4, 1998, as a copy of the khtmlw library, with some slight refactoring and the addition of Unicode support and changes to support the move to Qt 2. Waldo Bastian was among those who did the work of creating that early version of KHTML.
The real work on KHTML actually started between May and October 1999, with the realization that the choice facing the project was "either do a significant effort to move KHTML forward or to use Mozilla" and with adding support for scripting as the highest priority. So in May 1999, Lars Knoll began doing research with an eye toward implementing the W3C DOM specification, finally announcing on August 16, 1999 that he had checked in what amounted to a complete rewrite of the KHTML library — changing KHTML to use the standard W3C DOM as its internal document representation. That in turn allowed the beginnings of JavaScript support to be added in October 1999, with the integration of Harri Porten's KJS following shortly afterwards.