Internet Explorer 8 的新增功能
本主题介绍 Internet Explorer 8 的平台功能。单击此处可 下载 Internet Explorer 8(可能为英文网页)(适用于 Microsoft Windows XP、Windows Vista Service Pack 1 (SP1)、Windows Server 2003 或 Windows Server 2008)。当前发行的 Windows 7 版本中包括 Internet Explorer 8。
注意 Internet Explorer 8 将作为系统更新进行安装。 若要卸载 Internet Explorer,请在“添加和删除程序”控制面板的“任务”窗格中单击“查看已安装的更新”,然后双击更新列表中的“Windows Internet Explorer 8”。
本主题包含以下各部分:
- 64 位下载
- 加速器
- 辅助功能和 ARIA
- ActiveX 改进
- AJAX 增强功能
- CSS 合规性
- 开发人员工具
- 文档兼容性模式
- DOM 存储
- HTML 和 DHTML 改进
- 可变 DOM 原型
- 保护模式改进
- RSS 功能
- 搜索建议
- 安全和隐私
- 选择器 API
- 网页快讯
- 缩放增强功能
- 相关主题
64 位下载
Internet Explorer 目前支持下载大小超过 4 GB 的文件。 默认情况下,Internet Explorer 8 的用户可以利用此功能。 第三方扩展需要实现 IBindStatusCallbackEx,并从其 GetBindInfoEx 回调方法返回 BINDF2_READ_DATA_GREATER_THAN_4GB。 将使用 BINDSTATUS_64BIT_PROGRESS 标记通过 OnProgress 报告下载进度。 IMoniker::BindToObject 和 IMoniker::BindToStorage 支持这些回调方法。
加速器
随着 Internet 的交互性不断增强,使用 Internet Explorer 8 能够更加容易地与网页上的内容进行交互。 加速器是一类浏览器扩展程序,它通过向用户所选择的服务发送信息来作用于网页内容。 然后,服务将针对内容(如“电子邮件”或“书签”)执行操作,或者提供更多信息(“翻译”或“地图”)。 用户可以从浏览器快捷菜单安装和访问加速器,从而使其浏览体验更为高效。
有关详细信息,请参见 OpenService 加速器开发人员指南(可能为英文网页)。
辅助功能和 ARIA
为了适应 Web 上的用户界面 (UI) 日益复杂的要求, Web 辅助功能计划(可能为英文网页) 小组已定义了可访问富 Internet 应用程序 (ARIA) 的路线图,此路线图介绍了网站作者可用来定义如何访问自定义 UI 元素的各种方法。 ARIA 通过定义一组可映射回常见 UI 控件的 HTML 属性来实现此功能。 因此,具有某些行为障碍的用户可以通过富交互模型访问网站。 通过在 Internet Explorer 8 中利用 Microsoft Active Accessibility API 公开 ARIA,已经使用 Microsoft Active Accessibility 的辅助技术也可轻松支持 ARIA。
- 当浏览器在 IE8 模式下运行时,alt 属性不再显示为图像工具提示。 而改为使用 longDesc 属性的目标(若存在)作为工具提示;否则,将显示 title。 仍将使用 alt 属性作为 Microsoft Active Accessibility 名称,并且仅当 alt 不存在时,才会使用 title 属性作为回退名称。
- ARIA 属性语法在 IE8 模式和 IE7 模式中相同。 在兼容性视图中设置 ARIA 属性时,Internet Explorer 8 的早期版本需要使用旧式属性语法。 为了实现跨浏览器兼容性,应始终使用 WAI-ARIA 属性语法来访问和修改 ARIA 属性,例如
object.setAttribute("aria-valuenow", newValue)
。
有关详细信息,请参见:
- 针对 AT 供应商的 ARIA 实现指南: Internet Explorer 8(可能为英文网页)
- 将 ARIA 角色、状态和属性映射到 UI 自动化(可能为英文网页)
- Internet Explorer 8 的新增辅助功能(可能为英文网页)
ActiveX 改进
Internet Explorer 8 可以更好地控制您的 Microsoft ActiveX 安装和调试。
- 每站点的 ActiveX 在所有有意仅在一个站点上运行的 ActiveX 控件中,有将近一半的 ActiveX 控件没有使用任何形式的站点锁定技术。 这意味着许多控件默认情况下都是不安全的,恶意网站可以滥用这些控件。 为了在 Internet Explorer 8 中防止出现这种情况,用户可以基于每个站点决定是否允许 ActiveX 控件运行。 有关详细信息,请参见 每站点的 ActiveX 控件(可能为英文网页)。
- 非管理员安装 标准用户(没有管理员权限的用户)不需要 UAC 提示或管理员以任何形式参与即可将 ActiveX 控件安装到自己的用户配置文件中。 如果用户确实安装了恶意 ActiveX 控件,则只会影响该用户的配置文件,而系统本身不会遭到损害。 有关详细信息,请参见 非管理员 ActiveX 控件(可能为英文网页)。
- ActiveX 记录 Internet Explorer 8 会报告最常见的安装和实例化失败,例如,阻止正确实例化 ActiveX 控件的安全限制。 ActiveX 记录的执行方式与其他的 Internet Explorer 兼容性记录相同,都需要使用 Internet Explorer 应用程序兼容性工具包(可能为英文网页)。 有关详细信息,请参见 使用 Internet Explorer 兼容性测试工具(可能为英文网页)。
AJAX 增强功能
异步 JavaScript 和 XML (AJAX) 改变了 Web 应用程序的构建方式。 Internet Explorer 8 在启用 AJAX 应用程序的 XMLHttpRequest 对象中引入了新功能。
- AJAX 导航 现在,不会触发传统页面导航的客户端请求可以更新 hash 属性,此属性可使“返回”按钮正常工作。
- 连接事件 对于需要优先考虑数据可靠性的场合,AJAX 应用程序可以在与网络断开连接时选择将数据保存到本地。 请参见 onoffline 和 ononline。
- 每台服务器的连接数 Internet Explorer 8 提高了默认情况下每台主机的连接数量,有可能减少网页加载次数,并增强 AJAX 方案中的并行能力。
- 跨文档消息传送 不同域中的文档可使用 postMessage 安全地交换数据。 接收消息的文档将侦听 onmessage 事件。
- 跨域请求 (XDR) 为了使开发人员能够更加安全地合并来自不同网站的服务, XDomainRequest 对象可限制并保护网页中不受信任的模块之间的通信。 该浏览器可保护用户免受潜在威胁的攻击,同时允许用户进行强大的跨站点交互。
- 超时请求 Internet Explorer 8 新增了设置 服务器请求的 timeout 属性的能力。
- 净化 HTML 使用 window.toStaticHTML 可以轻松地从 HTML 片段中删除事件属性和脚本。
- 本机 JSON 支持 现在,可以直接在 Microsoft JScript 中序列化和分析在 AJAX 方案中广泛使用的 JavaScript Object Notation (JSON) 对象。 使用 JSON.stringify 可以将对象数据转换为字符串,使用 JSON.parse 可以接收 JSON 格式的文本。 还可以通过实现 toJSON 方法来调整对象的输出。 这些新方法比脚本快很多,而且比使用
eval
更安全。
有关详细信息,请参见:
- Internet Explorer 8 中的跨文档消息传送简介(可能为英文网页)
- Internet Explorer 8 中的连接增强功能(可能为英文网页)
- AJAX 导航简介(可能为英文网页)
- Internet Explorer 8 中的 XMLHttpRequest 增强功能(可能为英文网页)
CSS 合规性
- 表格布局 多年来,表格始终是 Internet 上的首选布局机制。 在 Internet Explorer 8 中,现在可以使用 display 属性将表格样式的格式应用于非表格元素。 实际上,CSS 表格比 HTML 标记更灵活;使用 CSS 规则创建的表格需要嵌套元素才会有效,而使用 HTML 创建的表格会关闭容器以避免意外嵌套。
- 数据 URI 此机制允许网页作者直接在统一资源标识符 (URI) 中嵌入小型实体,而不是使用 URI 标识从中检索实体的位置。 此操作主要适用于在 CSS 或布局中使用的小图像(如项目符号)。 有关示例,请参见 数据协议(可能为英文网页)。
- 生成的内容 网页作者可以呈现并非来自文档树的内容:
- :before 和 :after 结合使用新的 content 规则,作者可以对动态内容进行描述,以显示在大多数元素的前后。
- counter-reset 和 counter-increment 自动在文档中插入数字。
- quotes 轻松插入与语言相关的引号字符或弯引号。
- outline 使元素突出显示,但不会影响其大小。 outline 是 outline-color、 outline-style 和 outline-width 的简写属性。
- 打印 添加了下列属性:
- page-break-inside 避免某个元素的框内部出现分页符;如有必要,Internet Explorer 会将该元素移到下一个打印页。
- widows 和 orphans 控制在每个打印页的底端和顶端出现的行数。
- 其他伪类 Internet Explorer 8 支持下列伪类:
- 浏览器特定的属性 仅适用于 Internet Explorer 的级联样式表 (CSS) 属性以前缀 -ms- 命名,如 -ms-writing-mode。
有关详细信息,请参见:
有关 Internet Explorer 所使用的 CSS 测试用例,请参见 Windows Internet Explorer 测试中心(可能为英文网页)。
开发人员工具
Internet Explorer 8 的内置开发人员工具可公开网页的内部表示形式,有助于研究和解决涉及 HTML、CSS 和脚本的问题。 作为早期版本浏览器的加载项发布的开发人员工具栏的用户可能会熟悉其中的某些功能。
- CSS 工具 显示网页所加载的样式表所定义的各种规则。
- 脚本调试 利用内置轻型调试器,您无需退出 Internet Explorer 即可设置断点,并单步执行客户端脚本。
- 脚本探查器 可通过可视化方式确定占用脚本的大部分运行时间的位置。
- 版本模式切换 可切换到其他浏览器模式以测试内容是否满足标准合规性。
有关详细信息,请参见:
- 了解 Internet Explorer 开发人员工具(可能为英文网页)
- 使用开发人员工具调试脚本(可能为英文网页)
- 开发人员工具用户界面参考(可能为英文网页)
- 使用开发人员工具分析脚本(可能为英文网页)
文档兼容性模式
通过提供全面的 CSS 2.1、强大的 HTML 5 支持以及针对文档对象模型 (DOM) 的互操作性修补程序,Internet Explorer 8 有意在新的布局引擎方面进行了很大的投入。 默认情况下,将为指定了严格 !DOCTYPE 的站点启用最高级别的标准支持。 网站作者可以使用以下 meta 标记,选择实现与 Internet Explorer 7 的最高级别的兼容性:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Internet Explorer 8 Beta 1 的“模仿 IE7”按钮已由 地址栏旁边的“兼容性视图”按钮 取代。 单击此按钮可以在浏览器兼容模式之间快速更改,而无需重新启动浏览器。
有关详细信息,请参见:
若要设置服务器的兼容模式,请参见:
DOM 存储
对于希望超出客户端-服务器交互范围的基于浏览器的应用程序,直接在用户的硬盘上存储和检索大量数据的能力很重要。 当与 Internet 的连接断开时,本地存储也可以发挥作用;而当恢复与 Internet 的连接时,将会同步本地更改。 当连接状态发生更改时,可编写脚本的联机和脱机连接事件将触发。
有关详细信息,请参见 DOM 存储简介(可能为英文网页)。
HTML 和 DHTML 改进
现在,新的 HTML 4.01 实现的互操作性更强。 其中的改进包括:
- object 标记图像回退可与其他浏览器进行交互操作。 例如,没有指定大小的 object 标记现在将与相关图像具有相同大小,而不是 0 x 0 像素。
- button 元素将提交其 value 属性,而不是提交其 innerHTML,这意味着您可以将 button 元素用于跨浏览器 FORM 方案。
- getElementById 方法现在区分大小写,它不再使用 NAME 属性错误地进行搜索。
- setAttribute 方法现在不区分大小写;指定属性时无需使用 Camel 大小写格式(如“camelCaseWord”)。 该方法还可以正确地标识 HTML 属性,如 CLASS 和 FOR。
有关详细信息,请参见:
可变 DOM 原型
JScript 目前提供了一种方式来重写现有的对象方法,并创建可立即应用于所有对象实例的新方法。 这种紧密绑定使脚本能够本机操作 DOM 对象,就如同这些对象实际上是 JScript 对象一样。 通过提供元素的本机 DOM 原型(可能为英文网页),JScript 引擎可以直接对循环引用(例如,有时在 Internet Explorer 组件对象模型 (COM) 基础结构与脚本引擎之间创建的那些引用)进行管理,以减少难以检测到的内存泄漏。
有关详细信息,请参见:
保护模式改进
在 Windows Vista 中,保护模式只允许对具有低完整性要求的位置(包括 Cookie)进行文件写入。 在 Internet Explorer 8 中,具有中等完整性要求的应用程序可以访问具有低完整性要求的 Cookie,而无需用户使用 IEGetProtectedModeCookie 和 IESetProtectedModeCookie 进行交互。 通常,使用从 Internet 下载的 Cookie 的应用程序应假定这些 Cookie 包含恶意数据。
通过使用 Internet Explorer 8,可以在从具有中等完整性要求的进程启动浏览器后对其进行控制,即使是在保护模式下打开浏览器,同样也可以实现控制。 调用 Navigate2 后, NewProcess 事件将返回对刚刚打开的新 WebBrowser 对象的引用。
RSS 功能
- 通过身份验证的源 现在,无需用户交互,Windows RSS 平台即可执行身份验证。 可以在源的“属性”对话框中设置用户名和密码。
- 有效的 ID 将使用哈希算法为源项生成唯一的 ID。 可以使用此值同步某一项在各计算机之间的已读和未读状态,也可以将常见源列表中的项与其他程序存储的项进行比较。
有关详细信息,请参见 Internet Explorer 8 的新 RSS 功能(可能为英文网页)。
搜索建议
Internet Explorer 8 显著改进了 Internet Explorer 7 的搜索体验,改进功能如下:
- 搜索建议 帮助用户尽可能快地搜索恰当的词语。 支持 JSON 和扩展的 OpenSearch XML 格式。
- 视觉建议 将图像搜索与其他描述性内容相集成。
- 改进的用户体验 通过使用“快速选择”下拉列表框和加速器快捷菜单,可以轻松地选择和切换已安装的搜索提供程序。 此外,使用“历史记录搜索”可自动查找最近查看的网页,而不用离开搜索框。
若要了解如何将搜索提供程序与 Internet Explorer 8 相集成,请参见 Internet Explorer 中的搜索提供程序扩展性(可能为英文网页)。
安全和隐私
以下功能使 Web 浏览更加安全:
点击劫持 (Clickjacking) 防御: 某些黑客会尝试诱骗用户去单击一些看起来像是执行安全或无害功能的按钮,但执行的却是不相关的任务。 点击劫持者 (Clickjacker) 通过使用透明框架,将特定的 UI 元素用令人误解的文本和图像加以覆盖,从而将恶意代码或伪装代码 (Redress) 嵌入到用户界面中。 为了帮助防止点击劫持攻击,网站所有者可以随 HTML 页面发送名为
X-Frame-Options
的 HTTP 响应标头,以限制设置页面框架的方式。X-Frame-Options: Deny
如果X-Frame-Options
值包含Deny
标记,则 Internet Explorer 8 将阻止呈现包含在某个框架中的页面。 如果该值包含SameOrigin
标记,并且顶级浏览上下文不同于包含该指令的页面的源,则 Internet Explorer 将不呈现该页面。 所阻止的页将被替换为“此内容无法在框架中显示”错误页。跨站点脚本 (XSS) 筛选器: Internet Explorer 8 的这一项新功可使得利用“反射性(类型 I)XSS”漏洞变得更加困难。 当使用 HTTP 请求的一部分来生成服务器的响应时,可以对脚本进行反射,从而允许请求中的恶意脚本使用与页面其他部分相同的访问级别运行。 XSS 筛选器可以监视流经浏览器的所有请求和响应。 当筛选器在跨站点请求中检测到脚本时,如果服务器的响应中同样出现该脚本,则筛选器将标识并禁用该脚本。 如果发生这种情况,则将显示“Internet Explorer 修改了此页以防止发生潜在的跨站点脚本攻击”消息。 希望对其内容禁用筛选器的 Web 开发人员可以设置下面的 HTTP 标头。
X-XSS-Protection: 0
删除浏览历史记录: 当用户浏览网站时,Internet Explorer 会存储用户首选项、键入的数据以及有关所访问的位置的信息。 某些扩展程序也可以做同样的事情。 过去,加载项没有办法知道用户何时清除了 Internet 临时文件 (TIF) 文件夹或何时删除了 Cookie 和历史记录。 现在,通过实现 IDeleteBrowsingHistory 接口,当用户清除浏览器缓存时,可以通知扩展程序,从而使其能够同时删除自己存储的数据。
InPrivate 筛选: 网站无需使用 Cookie 即可跟踪用户。 Internet Explorer 8 通过阻止来自第三方的内容和禁止与第三方内容(来自另一个网站的且已并入到所查看网页中的图像和脚本)通信,可以确保不会泄露用户的浏览习惯。 InPrivate 筛选功能可以在用户浏览过程中记录第三方项,并且可以自动阻止已向超过 10 到 30 个第一方站点提供第三方内容的网站(如果用户启用)。 加载项和工具栏开发人员可以检测用户是否已启用 InPrivate 筛选,方法是调用 IEInPrivateFilteringEnabled 或使用如下脚本:
var enabled = window.external.InPrivateFilteringEnabled();
有关详细信息,请参见:
- IE 博客: IE8 安全性(第 IV 部分): XSS 筛选器(可能为英文网页)
- IE 博客: IE8 安全性(第 VII 部分): 点击劫持 (ClickJacking) 防御(可能为英文网页)
- IE 博客: 阻止 Cookie 之外的隐私: 注意第三方内容(可能为英文网页)
选择器 API
使用 CSS 选择器的功能可以快速找到 DOM 元素。 API 引入了 querySelector 方法和 querySelectorAll 方法,这两种方法接受一个选择器(或选择器组)并返回匹配的 DOM 元素。 使用这两个方法,可轻松找到符合特定条件的元素节点集。 与非本机实现相比,选择器 API 的性能明显要快得多。
有关详细信息,请参见 使用 JavaScript 选择对象(可能为英文网页)。
网页快讯
通过网页快讯,用户可以订阅网页上带有特殊标记的内容。 当内容改变时,用户会在“收藏夹”栏上收到通知,可以在“收藏夹”栏上预览内容,而无需其他导航。
有关详细信息,请参见:
缩放增强功能
与 Internet Explorer 7 相比,Internet Explorer 8 提供的缩放体验质量更高、更易于预测且更具持久性。Internet Explorer 8 除了引入更持久的缩放状态外,它还消除了大多数主流方案的水平滚动条。 新的窗口、对话框和弹出窗口自动继承其父项的缩放级别。