Trident (排版引擎)

網頁瀏覽器引擎
(重定向自MSHTML

Trident(又稱為MSHTMLIE内核),是微軟的視窗作業系統Windows)搭載的網頁瀏覽器Internet Explorer排版引擎的名稱,它的第一個版本隨著1997年10月Internet Explorer第四版釋出,之後不斷的加入新的技術並隨著新版本的Internet Explorer釋出。在Internet Explorer第七版中,微軟對Trident排版引擎做了重大的變動,除了加入新的技術之外,並增加對網頁標準的支持[2]。儘管這些變動还是不足以弥补已經有相當大程度上落後了其它排版引擎的差距,如GeckoKHTMLWebkitBlinkPresto

Trident
開發者微軟
首次发布1997年8月,​27年前​(1997-08
当前版本
  • 8.0
編輯維基數據鏈接
编程语言C++[1]
类型應用程式框架英语Application framework軟體元件
许可协议專有
网站msdn.microsoft.com/en-us/library/aa741317.aspx

除此之外,微軟還有另一個網頁瀏覽器排版引擎,稱為Tasman,它是使用在「Internet Explorer for Mac」的排版引擎。相較於Trident,Tasman引擎對網頁標準有較佳的支援。與普遍的看法相反的是,微軟已經停止了Mac版本的Internet Explorer的開發,但Tasman的開發仍舊持續,新版本的Tasman引擎仍被應用在一些微軟產品上,例如Office for Mac

Microsoft Edge瀏覽器中,Trident被其分支EdgeHTML所取代[3]

軟體開發

Trident引擎被設計成一個軟體元件(模組),使得其他軟體開發人員很容易的將網頁瀏覽的功能加到他們自行開發的應用程式裡。微軟提出了一個稱為「元件物件模型」(COM)的軟體介面架構。供其它支援的元件物件模型開發環境的應用程式(如:C++.NET)存取及編輯網頁。例如,由C++所撰寫的程式可以加入瀏覽器控制項裡,並透過Trident引擎存取當前顯示在瀏覽器上的網頁內容及網頁的各種元素的值,從瀏覽器控制項觸發的事件亦可被程式擷取並進行處理。Trident引擎所提供的所有函式庫可以透過與mshtml.dll這個檔案的連結而達成撰寫程式時所需要的功能。

版本

Trident版本 MSHTML.dll版本 Internet Explorer版本 更新
不明 [4] 4.0.x 4 首發
5.0.x 5 增加對CSS 1的支援及改變對CSS 2的渲染
5.5.x 5.5 修正部份CSS的排版控制
6.0.x 6 修正box model[a]的錯誤及新增quirks mode[b]的切換功能,以增加對DTD的支援
7.0.x 7 修正部分CSS排版處理上的錯誤以及增加對PNGalpha通道(半透明)的支援
4.0 [5] 8.0.x 8 第一个通过Acid2测试的版本[6]
5.0 [7] 9.0.x 9 首次支援HTML5SVGCSS3及採用新的JScript引擎。另外,首次加入利用DirectX中的硬件加速改善網絡應用程序的性能
6.0 [8] 10.0.x 10 支持CSS3多栏式排版、格子对齐、浮动式区块排版、渐变以及ECMA5严格模式
7.0 11.0.x 11 支持WebGLSPDY。增强对HTML5标准的支持[9]和性能提升[10]

用例

除了Internet Explorer第四版以後的版本使用Trident排版引擎之外,還有其它的應用程式也使用了Trident排版引擎所提供的技術(參見Internet Explorer殼層英语Internet Explorer shell)。它也用於從Windows 98Windows XPWindows Server 2003所有版本的Windows Explorer[11]。Windows 2000在新增/移除程式中使用Trident來渲染安裝程式清單[12],以及在Windows XP中也被用於使用者帳戶控制面板,這是一個HTML應用程式[13]

其他使用Trident的一些應用程式還包括:

註釋

  1. ^ 盒模型(box-model),是以CSS技術做為網頁排版時的一個很重要的觀念,它描述了元素之間的彼鄰關係,同時也左右了設計者是否能夠成功透過CSS,完成整個網頁頁面的呈現。
  2. ^ Internet Explorer從第六版開始,變成有兩種執行模式,其中一種稱為標準模式(standards mode),另一為稱為相容模式(quirks mode),兩種模式會自行切換,程式運作時使用哪一種模式,則視網頁的HTML或XHTML語法中的DTD定義怎麼宣告

參考資料

  1. ^ Hachamovitch, Dean, Internet Explorer 8 and Acid2: A Milestone, Microsoft, 2007-12-14 [2010-01-13], (原始内容存档于2011-08-25) 
  2. ^ Details on our CSS changes for IE7. [2010-02-23]. (原始内容存档于2008-07-30). 
  3. ^ What's powering Spartan? Internet Explorer, of course. Neowin.net. [2016-05-10]. (原始内容存档于2015-12-16). 
  4. ^ Lawrence, Eric, re: Introducing IE9’s User Agent String, Microsoft, 2010-03-24 [2016-04-30], (原始内容存档于2010-03-27) 
  5. ^ Lawrence, Eric, The Internet Explorer 8 User-Agent String (Updated Edition), Microsoft, 2009-01-09 [2010-01-13], (原始内容存档于2010-01-25) 
  6. ^ Hachamovitch, Dean, Internet Explorer 8 and Acid2: A Milestone, Microsoft, 2007-12-19 [2010-01-13], (原始内容存档于2011-08-25) 
  7. ^ Silbey, Marc, Introducing IE9’s User Agent String, Microsoft, 2010-03-23 [2016-04-30], (原始内容存档于2010-03-27) 
  8. ^ Ross, Tony, The IE10 User-Agent String, Microsoft, 2011-04-15 [2016-04-30], (原始内容存档于2015-12-04) 
  9. ^ Windows 8.1 and Internet Explorer 11 will support WebGL, SPDY, but no WebRTC, ExtremeTech, 2013-06-26 [2016-04-30], (原始内容存档于2016-03-23) 
  10. ^ Internet Explorer 11 for Windows 7 launched: Brings improved rendering, speed, NDTV Gadgets360, 2013-11-08 [2016-04-30], (原始内容存档于2016-03-03) 
  11. ^ How to Add or Remove Windows Desktop Update. [2011-12-03]. (原始内容存档于2011-12-04). 
  12. ^ Add/Remove Programs tool displays installed programs incorrectly. [2011-12-03]. (原始内容存档于2011-12-11). 
  13. ^ Internet Explorer Script Error error message when you click User Accounts in Control Panel many times in quick succession on a Windows XP-based computer. [2011-12-03]. (原始内容存档于2011-12-09). 

參見