首页 > 开发 > AJAX > 正文

用Ajax来控制书签和回退按钮的代码

2024-09-01 08:29:51
字体:
来源:转载
供稿:网友
这篇文章描述了一个支持Ajax应用书签和回退按钮的开源的javascript库。在这个指南的最后,开发者将会得出一个甚至不是Google Maps 或者 Gmail那样处理的Ajax的解决方案:健壮的,可用的书签和向前向后的动作能够象其他的web页面一样正确的工作。

  Ajax:怎样去控制书签和回退按钮 这篇文章说明了一个重要的成果,Ajax应用目前面对着书签和回退按钮的应用,描述了非常简单的历史库(Really Simple History),一个开源的解决这类问题的框架,并提供了一些能够运行的例子。

  这篇文章描述的主要问题是双重的,一是一个隐藏的html 表单被用作一个大而短生命周期的客户端信息的session缓存,这个缓存对在这个页面上前进回退是强壮的。二是一个锚连接和隐藏的iframes的组合用来截取和记录浏览器的历史事件,来实现前进和回退的按钮。这两个技术都被用一个简单的javascript库来封装,以利于开发者的使用。

  存在的问题

  书签和回退按钮在传统的多页面的web应用上能顺利的运行。当用户在网站上冲浪时,他们的浏览器地址栏能更新URL,这些URL可以被粘贴到的email或者添加到书签以备以后的使用。回退和前进按钮也可以正常运行,这可以使用户在他们访问的页面间移动。

  Ajax应用是与众不同的,然而,他也是在单一web页面上成熟的程序。浏览器不是为Ajax而做的—Ajax他捕获过去的事件,当web应用在每个鼠标点击时刷新页面。

  在象Gmail那样的Ajax软件里,浏览器的地址栏正确的停留就象用户在选择和改变应用的状态时,这使得作书签到特定的应用视图里变得不可能。此外,如果用户按下了他们的回退按钮去返回上一个操作,他们会惊奇的发现浏览器将完全离开原来他所在的应用的web页面。

  解决方案

  开源的Really Simply History(RSH)框架解决了这些问题,他带来了Ajax应用的作书签和控制前进后退按钮的功能。RSH目前还是beta版,在Firefox1.0上,Netscape7及以上,和IE6及以上运行。Safari现在还不支持。

  目前存在的几个Ajax框架可以帮助我们做书签和发布历史,然而所有的框架都因为他们的实现而被几个重要的bug困扰。此外,许多Ajax历史框架集成绑定到较大的库上,比如Backbase 和 Dojo,这些框架提供了与传统Ajax应用不同的编程模型,强迫开发者去采用一整套全新的方式去获得浏览器的历史相关的功能。

  相应的,RSH是一个简单的模型,能被包含在已经存在的Ajax系统中。而且,Really Simple History库使用了一些技巧去避免影响到其他历史框架的bug.

  Really Simple History框架由2个javascript类库组成,分别叫DhtmlHistory 和 HistoryStorage.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表