Trident (Software)

Trident
Basisdaten

Entwickler Microsoft
Erscheinungsjahr August 1997
Aktuelle Version siehe Internet Explorer
Betriebssystem Windows
Solaris und HP-UX (wird nicht weiterentwickelt)
Windows 3.1Me (wird nicht weiterentwickelt)
Programmier­sprache C++
Kategorie Engine-Bibliothek
Lizenz Proprietär (Microsoft-EULA)
msdn.microsoft.com

Trident (auch bekannt als MSHTML) ist die HTML-Rendering-Engine der Windowsversionen des Webbrowsers Internet Explorer von Microsoft. Die erste Version von Trident wurde 1997 mit der Veröffentlichung von Internet Explorer 4 eingeführt und bis heute weiterentwickelt – sie ist ein Kernbestandteil aller Nachfolgeversionen von Internet Explorer.

Frühere Versionen des Internet Explorers für Mac OS basierten auf der völlig eigenständigen Tasman-Engine.

In den Versionen 7, 8 und 9 dieses Browsers nahm Microsoft gravierende Änderungen an der Engine vor, um ihre Kompatibilität zu den etablierten Webstandards zu verbessern. Einen wesentlichen Fortschritt in dieser Richtung stellte der Internet Explorer 7 dar, weil Microsoft damit viele Fehler, teilweise auch schwerwiegende, beheben konnte. Die Nachfolgeversion, der Internet Explorer 8, bestand erstmals den Acid2-Test, der Internet Explorer 9 den Acid3-Test. Außerdem wurden mit dieser Version erneut zahlreiche Neuerungen des Webstandards implementiert. Die letzte Version des Browsers (Internet Explorer 11) vor Einstellung des Produktes setzte diese Entwicklung fort.

Trident in der Softwareentwicklung

Trident wurde entwickelt, um Entwicklern das einfache Integrieren in Eigenentwicklungen zu ermöglichen. Die Engine bietet eine COM-Schnittstelle an, um Websites in Umgebungen mit COM-Unterstützung anzuzeigen und zu bearbeiten; beispielsweise stellen die Programmiersprache C++ und die .Net-Framework-CLR eine solche Unterstützung zur Verfügung. Dabei kann ein Browser-Steuerelement einem C++- oder VB-Programm hinzugefügt und verwendet werden, um die Inhalte einer im Browser geladenen Website abzurufen. Ebenso können Ereignisse der Browserbedienung abgefragt werden. Die Trident-Funktionalität wird durch Verknüpfen der Datei mshtml.dll mit dem Projekt erreicht.

Versionen

Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version
Version(a) Browser-
kennung
(b)
Anmerkungen und wichtigste Änderungen
Ältere Version; nicht mehr unterstützt: 4.0 Erste Version
Ältere Version; nicht mehr unterstützt: 5.0 Verbesserte CSS-1-Unterstützung und Änderungen an der CSS-2-Unterstützung.
Ältere Version; nicht mehr unterstützt: 5.5 Probleme mit der CSS-Verarbeitung korrigiert
Ältere Version; nicht mehr unterstützt: 6.0 Fehler im sogenannten "Boxmodell" behoben, Quirks-Modus hinzugefügt
Ältere Version; nicht mehr unterstützt: 7.0 Zahlreiche Fehler des CSS-Renderings behoben, Unterstützung für transparente PNG-Grafiken hinzugefügt
Ältere Version; nicht mehr unterstützt: Mobile 7.0 Trident/3.1 Veraltete Version für Windows Phone 7, basiert auf einem Mix aus der Desktopversion 7 und 8.[1]
Ältere Version; nicht mehr unterstützt: 8.0 Trident/4.0 Aktuelle Version unter Windows XP. Besteht als erste Version den Acid2-Test[2]
Ältere Version; nicht mehr unterstützt: 9.0 Trident/5.0 Aktuelle Version unter Windows Vista. Der Hersteller möchte vollständige CSS-3.0 Kompatibilität erreichen. Das Seitenrendering soll dank Direct2D deutlich schneller als bei vorherigen Versionen sein und damit trotz höherer Sicherheit eine ähnlich hohe Geschwindigkeit wie Konkurrenzprodukte erreichen.[3]
Ältere Version; nicht mehr unterstützt: Mobile 9.0 Trident/5.0 Aktuelle Version für Windows Phone 7, basierend auf der Desktopversion 9.0, vollständig hardwarebeschleunigt
Ältere Version; nicht mehr unterstützt: 10.0 Trident/6.0 Version unter Windows 8. Verbesserte Unterstützung für CSS 3.0, HTML5 und JavaScript.
Ältere Version; nicht mehr unterstützt: Mobile 10.0 Trident/6.0 Veraltete Version für Windows Phone 8, basierend auf der Desktopversion 10.0
Aktuelle Version: 11.0 Trident/7.0 Aktuelle Version unter Windows 7 und Microsoft Windows 8.1
Aktuelle Version: Mobile 11.0 Trident/7.0 Aktuelle Version unter Windows Phone 8, basierend auf der Desktopversion 11.0

(a) Die Versionsnummer bezieht sich auf die Version der MSHTML.dll, diese ist jeweils auch mit der des Internet Explorers identisch.
(b) Mit dem Internet Explorer 8.0 wurde die Browserkennung dahingehend erweitert, dass ein Hinweis auf die verwendete Version von Trident enthalten ist.[4]

Trident-basierte Anwendungen

Sämtliche Versionen von Internet Explorer ab Version 4 nutzen Trident als Rendering-Engine. In Windows 98, Windows Me, und Windows 2000 greift der Windows-Explorer auf die Engine zurück, in Windows XP wird sie für die Systemsteuerungselemente "Software" und "Benutzerkonten" verwendet; die Module sind HTML-Anwendungen.

Daneben machen zahlreiche Programmkomponenten und Anwendungen anderer Hersteller davon Gebrauch, darunter:

Standardkonformität

Obwohl jede Version von Internet Explorer Webstandards grundsätzlich unterstützt (in Internet Explorer 6 war ein "Standards-Compliant Mode" implementiert), wurden einige Kernstandards unvollständig gerendert. So gab es zum Beispiel keine Unterstützung für das Element <abbr>, das mit HTML 4.01 eingeführt wurde und bei der Darstellung umfließender Innenabstände von Containern, die in CSS 1 festgelegt wurden. Ferner wurde die CSS-Angabe min-height nicht unterstützt, die eine Mindesthöhe dehnbarer Container zulassen soll.

Internet Explorer 8 unterstützt CSS 2 vollständig.[7]

Alternativen von Microsoft

Tasman

Die HTML-Rendering-Engine Tasman wurde in Internet Explorer 5 für Mac genutzt. Internet Explorer für Mac hat zuvor Trident verwendet. Die Entwicklung von Internet Explorer für Mac wurde 2003 eingestellt, Tasman wurde eingeschränkt weiterentwickelt und später in Microsoft Office 2004 for Mac eingesetzt.

Expression Web

Microsofts Webdesign-Projekt Expression Web verwendet statt Trident einen eigens dafür entwickelten Renderer, der laut Microsoft die Webstandards am konsequentesten umsetzen soll.[8]

EdgeHTML

EdgeHTML ist Microsofts kurzlebige HTML-Rendering-Engine, die erstmals unter Windows 10 im Webbrowser Microsoft Edge zum Einsatz kam.[9] Seit 2018 arbeitet Microsoft jedoch an einen Chromium-basierten Nachfolger, so dass wegen der ohnehin geringen Nutzerbasis die Bedeutung von EdgeHTML noch mehr schwinden wird.

Einzelnachweise

  1. Der Internet Explorer Mobile 7 basiert grundlegend auf Version 7.0 der Desktop-Variante und enthält einige Elemente aus Version 8.0
  2. Internet Explorer 8 besteht den Acid 2-Test
  3. An Early Look At IE9 for Developers
  4. The Internet Explorer 8 User-Agent String. Microsoft, 9. Januar 2009, abgerufen am 12. Januar 2009 (englisch).
  5. Outlook 2007 - Html E-Mails unterstützen kein CSS! 24. April 2007, archiviert vom Original am 22. Januar 2009; abgerufen am 20. Januar 2009.
  6. Netscape 8.1: Browser mit speziellem Sicherheitsbereich. 26. Januar 2006, abgerufen am 23. März 2010.
  7. CSS-Kompatibilität in Internet Explorer 8. Abgerufen am 4. März 2011.
  8. Expression Web features. Microsoft, abgerufen am 28. Januar 2015.
  9. This is Microsoft Edge, the replacement for Internet Explorer. The Verge, 29. April 2015, abgerufen am 29. April 2015.