技术开发 频道

IE 8 Beta 1 AJAX程序员指南

ITPUB 专稿
一、 概述

   进一步提高开发者的生产效率是Internet Explorer 8 Beta 1 for Developers的一个主要目标。为了实现这个目标,Internet Explorer 8 Beta 1极力地提供跨浏览器互操作性、标准性以及其他强有力的API支持。针对时下流行的AJAX开发,Internet Explorer 8 Beta 1 for Developers推出了一个简化的但强有力的编程模型—此模型能够支持跨浏览器、Web页面和服务器进行交互。于是,开发人员能够更容易地构建具有更好的终端用户体验、功能更齐全而且性能更好的Web页面。这组API基于W3C HTML 5.0或Web应用程序工作组(Web Applications Working Group)标准。最终的发行Internet Explorer 8中将增加针对AJAX的改进特征或一些新的智能属性,从而有助于构建标准化AJAX应用程序。

   接下来,我们将详细描述IE8的AJAX改进如何进一步拉近浏览器和Web页面间的距离,从而帮助开发人员提供更友好的用户体验感。

(一)AJAX导航支持

   Internet Explorer 8新引入的AJAX导航技术能够使用户在不脱离AJAX应用程序的前提下实现在上一页面与下一页面之间的来回导航,并且可以在不需要实现传统型完全导航的情况下实现页面间导航。这个功能允许Web站点触发一个针对浏览器组件(例如地址栏)的更新;具体地说,这是通过设置window.location.hash值,引发一个事件以告知当前页面中的组件,甚至在travelog中创建一个入口等诸方式实现的。

(二)DOM存储

   DOM存储是一种存储和检索键/值对数据字符串的简单易用的方法。数据可以相应于不同的选项卡实例存储对应的会话或者直接存储在本地机器上。这允许页面把文本缓存在机器上,从而通过以更快的速度访问预先缓冲的数据进而提高了网络带宽的利用率。如此以来,有可能出现一些创新性的使用方式。例如,如果浏览器检测到计算机已经离线的话,那么,我们就可以把DOM存储与新引入的网络连接事件相结合从而允许页面把数据缓存起来。

(三)连接事件(Connectivity events)

   连接事件允许Web站点检查何时用户连接到网络和接收连接改变通知。

(四)每一台主机上可以创建六个连接

   Internet Explorer 8 Beta 1 for Developers支持并行下载,这是借助于一个称作scriptable的属性实现的。另外,如果已经存在两个连接,那么,上述技术可以确保到宿主的请求不被阻塞从而提高系统功能。因此,诸Web站点可以基于这个scriptable属性优化它们提供的下载支持。

(五)改进的XMLHTTPRequest对象

   XMLHTTPRequest对象新包括了一个timeout属性。必要的话,可以通过设置此属性而取消Web请求,从而允许开发者更好地进行请求管理。如今,跨域通信已经成为AJAX开发以及mashup类型的复合Web应用程序的一部分。Internet Explorer 8 Beta 1 for Developers提供了如下两个特征可以帮助你构建安全的且易于实现的跨域通信:

   借助于跨域请求(Cross-domain Request,简称“XDR”),开发者可以创建跨站点的数据聚合应用程序。与XMLHttpRequest对象相类似,但是提供了一个更为简单的编程模型,这个称为XDomainRequest的请求是向支持XDR技术并且决定把自己的数据跨域共享的第三方站点发出匿名请求的最容易方法。仅仅通过三行代码就可以使你建立基本的跨站点请求。这将确保一些公共站点(例如博客)的数据聚合更为简单、安全而快速。 •跨文档消息发送(Cross-document Messaging,XDM)API支持通过IFrame元素实现来自于不同域的文档之间进行通信,而且确保这种方式是容易的、安全的而且符合标准化。

二、 兼容性—不同于IE7的行为改进

(一)针对每台主机建立连接的支持改进兼容性问题

   随着越来越多的用户加入到宽带网的行列中,客户端带宽已不再总是影响系统性能的关键因素。典型情况下,建立连接并且发送请求所需要的时间远大于花费在检索单个的对象上的时间。在新的HTTP 1.1规范(RFC 2068)中允许同时建立两个HTTP连接。通过提高并发连接的个数,Internet Explorer 8 Beta 1 for Developers允许Web站点分阶段进而以更快的速度处理排队的对象,从而导致用户直观感觉到的下载时间明显加快。因此,Internet Explorer 8 Beta 1 for Developers中加入了相应的逻辑专门用于检测当前连接是否为宽带连接,并且在确定是宽带连接的情况下把每台主机可建立的连接数提高到6。最后,值得注意的是,这个最大连接数可以应用于到任何一个Web服务器的连接,而不仅仅用于下载。

(二)Web开发者角度

   Web开发者可能想根据到他们的站点的可用的连接数在内容传送方面进行优化处理。为此,Internet Explorer 8 Beta 1 for Developers还在window对象上新增加了一个只读属性—scriptable,这个属性可以用于在Internet Explorer 8中暴露每台主机的连接限制数。具体说来,这个属性针对不同版本的HTTP服务器将分别返回如下所示的MaxConnectionsPerServer和MaxConnectionsPer1_0Server值:

•window.maxConnectionsPerServer(针对HTTP 1.1服务器)
•window.maxConnectionsPer1_0Server(针对HTTP 1.0服务器)


 

0
相关文章