Trident (排版引擎)

網頁瀏覽器引擎

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). 

參見