技术开发 频道

IE 8 Beta 1 AJAX程序员指南

(三)终端用户角度

   另外,那些有着深深的页面多次加载体验感的终端用户可能想通过一个特征控制键来改变每台主机的连接数目。注意,这一特征控制键可以通过如下两种方式来加以禁止:

特征控制键(Internet Explorer)

   可能通过把特征控制键(即FEATURE_AJAX_CONNECTIONSERVICES)设置为0来禁止使用上述特征。这将确保在Internet Explorer中的每台主机最多6个连接的最大允许设置返回到Internet Explorer下的缺省的针对HTTP 1.1的每台主机两个连接以及相应于HTTP 1.0的每台主机四个连接连接。具体的操作方式如下:

1 运行注册表管理器Regedit.exe。
2 导航到注册表键位:HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_AJAX_CONNECTIONSERVICES。
3 创建一个新的DWORD值“iexplore.exe”,并设置为“0000000”即可。

注册表键(Windows)

   另外,注册表也可以用于在Windows系统下(包括Internet Explorer)重载所有的设置并且根据用户的选择改变针对每台服务器的连接限制。如果一个键不存在,那么可以通过访问注册表的特定位置来重新创建它。具体实现步骤如下:

1 运行注册表管理器Regedit.exe。
2 导航到注册表键位:HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings。
3 针对HTTP 1.1的情况,创建一个DWORD类型的新键“MaxConnectionsPerServer”。然后,把此值设置为“0000002”。
5 针对HTTP 1.0的情况,创建另一个DWORD类型的新键“MaxConnectionsPer1_0Server”。然后,把此值设置为“00000004”。

三、 技术详解

(一)AJAX导航

背景

   使用AJAX技术的一个重要优点是可以局部地更新页面内容而不必实现传统型页面导航(即整页刷新)。然而,在一些场所下,当发生这种情况时有可能会带来问题,因为此时往往无法实现状态保存并向页面中的组件发出警告,因为就像地址栏和前进/后退按钮这样的组件只有在页面导航之后才发生更新。结果是,浏览器无法保存AJAX导致的内容改变或者实现组件(如地址栏)的更新。这样以来,令终端用户感到疑惑—为什么浏览器看上去为原有内容所阻塞呢?实际上,一般的Web站点都会通过当以AJAX方式更新内容时导航一个隐藏的IFrame的思路来克服上述限制。然而,这明显降低了系统的性能。

   在IE8中,Internet Explorer会像对待导航一样来对待window.location.hash更新,并且会把前面的文档URL保存起来。这样以来,导致下列几件事情的发生:

•前一个URL(它有可能来自于前一个哈希片断)将被在地址栏、后退按钮及其它浏览器组件中进行更新。
•发出一个鼠标“点击”事件对应的声音,就像发生一个传统型导航一样。
•引发一个新的hashChanged事件。

  在导航离开当前Web页面之前,Internet Explorer还将保存哈希的URL片断。
【注意】当window.location.hash改变时保存URL并引发hashChanged事件,这都是与W3CHTML5工作草案相兼容的行为。

(二)DOM存储

背景

   今天的Web页面一般都使用document.cookie属性存储本地机器上的数据。值得注意的是,Cookies的能力是有限的,因为站点仅可以在每一个域上存储50个键/值对。而且,cookie编程模型相当令人讨厌,要求分析整个cookie字符串中的数据。W3C的HTML5文档对象模型(DOM)存储对象为键/值对字符串数据提供一个简单得多的全局会话存储模型。站点可以存储一个选项卡生命周期期间(直到Web站点或用户清除掉此数据)的数据。

 

0
相关文章