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

参见