跳转到内容

Trident (排版引擎)

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Trident
开发者微软
首次发布1997年8月,​27年前​(1997-08
当前版本
  • 8.0
编辑维基数据链接
编程语言C++[1]
类型应用程序框架英语Application framework软件组件
许可协议专有
网站msdn.microsoft.com/en-us/library/aa741317.aspx

Trident(又称为MSHTMLIE内核),是微软的视窗操作系统Windows)搭载的网页浏览器Internet Explorer排版引擎的名称,它的第一个版本随着1997年10月Internet Explorer第四版发布,之后不断的加入新的技术并随着新版本的Internet Explorer发布。在Internet Explorer第七版中,微软对Trident排版引擎做了重大的变动,除了加入新的技术之外,并增加对网页标准的支持[2]。尽管这些变动还是不足以弥补已经有相当大程度上落后了其它排版引擎的差距,如GeckoKHTMLWebkitBlinkPresto

除此之外,微软还有另一个网页浏览器排版引擎,称为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). 

参见

[编辑]