当前位置:主页 > 网页教程 > 设计制作综合 > 内容欢迎大家投稿

IE8面向Web开发人员的功能改进(2)

时间:2009-11-10 09:25来源:未知 作者:大宝库 点击:读取中
阅读工具:字体:

此示例使用三个 OBJECT 元素定义一个对象回退策略。它首先尝试加载 Silverlight 应用程序。如果此操作失败,则要求使用Microsoft Windows Media 文件。如果无法加载 Windows Media 文件,则此示例加载一个图像。

如果您使用 Windows Internet Explorer 7 查看此示例,将会看到此图像,但是页面的文档对象模型 (DOM) 中只有一个 OBJECT 元素,因为 Windows Internet Explorer 7 不会为加载失败的对象创建 OBJECT 元素。

如果您使用 Windows Internet Explorer 8 查看此示例,将会看到页面的 DOM 中有包含三个 OBJECT 元素的图像。由于加载失败,前两个 OBJECT 元素处于非活动状态。不过,您可以使用 JavaScript 搜索这些元素。

注意:如果不刷新页面或使用 JavaScript 加载新对象,则无法重新激活处于非活动状态的对象。

Windows Internet Explorer 8 仅将这一新的回退行为用于与通信相关的错误,即只在加载请求生成客户端 HTTP 错误响应 (4xx) 或服务器 HTTP 错误响应 (5xx) 时发生。如果由于其他原因(如内容格式不正确或 ActiveX 控件损坏)导致请求失败,将发生原始回退行为。

HTML 5/AJAX 增强功能

Windows Internet Explorer 8 的 HTML 5 增强功能包括 AJAX 导航、DOM 存储、跨文档消息传送 (XDM) 和连接事件。它们是严格按照 W3C HTML 5.0 草案开发的。

AJAX 导航

使用 AJAX 的显著好处之一是无需使用传统的页面导航即可更新页面内容。在某些情况下,使用 AJAX 无法保存页面状态,亦无法通知其组件,对此可能会令人疑惑,这是因为地址栏、“后退”和“前进”按钮等组件只能在页面导航后进行更新。因此,浏览器无法在旅行日志上保存 AJAX 内容更改或更新地址栏等组件。这可能使最终用户产生迷惑,不知道为什么浏览器总是显示旧内容。在 IE8 模式中,Windows Internet Explorer 像处理导航一样处理 window.location.hash 更新,并保存早期文档 URL。

DOM 存储

现在,网页使用 document.cookie 属性将数据存储在本地计算机上。Cookie 能力有限,因为站点对每个域只能存储 50 个键/值对。此外,Cookie 编程模型很繁琐,需要分析数据的整个 Cookie 字符串。W3C 的 HTML 5 DOM 存储对象为键/值对字符串数据提供了一个更简单的全局和会话存储模型。站点可以在选项卡生命周期内存储数据或直到网站或用户清除数据。

每个域,包括其子域,有 10 MB 的本地存储空间。这有助于降低跨域攻击的可能性。同样,每个浏览器选项卡也有自己的会话存储。DOM 存储只是 Web 应用程序简化存储数据的一种机制 — 不使用后台数据库。例如,无法执行复杂的查询,如根据值搜索。

跨文档消息传送 (XDM)

浏览器的站点源策略阻止网页从其他域获得数据。这意味着单个网页上的不同域不能相互通信,从而无法提供更加丰富的体验。网站通过创建嵌套的 IFrame 并检索通过 URL 传送的数据绕过此策略。网站绕过此策略的另一种方法是直接托管脚本和其他域中的其他资源文件。第二种解决方法只允许单向通信。由于嵌入的脚本和资源使用与托管网站相同的权限运行,还可以访问用户的数据(如用户存储在 Cookie 中的数据),因此这种方法也存在安全风险。

XDM 提供的 postMessage 方法不显示在窗口对象中,这就允许不同的域根据给定的相互许可相互通信。XDM 为双向跨域通信提供了一种机制,比上述解决方法更简单、更能体现性能驱动。

连接事件

Windows Internet Explorer 8 允许网页通过 window.navigator.onLine 属性和联机/脱机事件检测浏览器何时联机或脱机。利用这些信息,您就可以使用 DOM 存储对象启用大量的脱机方案。例如,如果用户在登录到自己的 Live mail 页后失去了连接,页面会一直提示用户将草稿保存在 DOM 存储中并允许用户继续编辑电子邮件。恢复连接时,脚本会检索电子邮件并将其发送到服务器。

 

CSS改进

Windows Internet Explorer 8 是迄今为止 CSS 符合性最高的版本,它完全支持级联样式表 (CSS) 级别 2.1,并加强了对 CSS 3支持。下面是最为突出的几个亮点:

数据统一资源标识符 (URI)(最长32768个字符)

此机制允许网页作者直接在 URI 中嵌入小型实体,而不是使用 URI 标识检索实体的位置。此操作主要适用于在 CSS 或布局中使用的小图像(如项目符号)。

新伪类

以下是 Windows Internet Explorer 8 新增的内容:

:before 和 :after 伪元素允许作者指定与元素的文档树内容有关的动态内容的位置。

:focus 指的是用户何时激活元素以使它可以执行任务。此伪类适用于元素具有输入焦点的情况。

Outline 可以突出显示元素,但不会影响其大小。它是 outline-color、outline-style 和 outline-width 的简化属性。

打印

为了简化打印,已添加了下列属性:

page-break-inside

widows

orphans

表格布局

多年来,表格始终是 Internet 上的首选布局机制。在 Windows Internet Explorer 8 中,现在可以使用 display 属性将表格类型格式应用于非表格元素。实际上,CSS 表格比 HTML 标记更灵活;使用 CSS 规则创建的表格嵌套元素后即有效,而使用 HTML 创建的表格会关闭容器以避免意外嵌套。

下表收集了 Windows Internet Explorer 8 中支持的各种改进的 CSS 属性,并与 Windows Internet Explorer 7 进行了比较,内容一目了然。这些表未详尽列出 Windows Internet Explorer 8 支持的所有 CSS 属性;只显示了 Windows Internet Explorer 7 不支持或部分支持,而现在 Windows Internet Explorer 8 支持的 CSS 属性。

单元格中的“部分”值表示只能在该版本的 Windows Internet Explorer 中部分实现此功能。(责任编辑:大宝库)



------分隔线----------------------------
推荐内容
赞助商链接
赞助商链接