在EasyAJAX中加入类似于Really Simple History的功能
AJAX应用往往被作为对Forward/Backward不友好的程序,很大的一个原因是一个页面内的很多操作实际上不会反映到URL上,因此,无法进行回退等操作。
但是,很有意思的是:RSH提供了对AJAX应用的这种Foreward/Backward的功能,即使是那种单一页面的应用,也可以达到这样的一种效果。
实际上,在避免对页面进行reload的情况下,而又要前进后退,在浏览器中是有先例的,这就是文档内导航,比如说page.html连接到page.html#a1, page.html#a2,实际上,整个页面并不会reload,浏览器只是简单的滚动而以。
基于这样的情况,我们也可以在easyajax中简单的对此进行模拟,而实现导航的功能。
简单而言,当我们的页面需要前进到一个新的状态时,我们可以将当前的状态保存起来,然后我们给当前状态一个编号,(缺省为0),然后将当前状态保存起来。 我们然后更新当前状态,并赋予一个新的编号,然后将当前浏览器前进到这个编号上(当然,在html内创建一个对应的<A name=.."/>标签。通过定义一个定时器,定时的检查标签是否发生变化,从而执行相应的事件处理,即可实现相应变化。
0 Comments:
张贴评论
<< Home