论坛首页 Web前端技术论坛

JavaScript的页面记忆--说不尽的“刷新”

浏览 2953 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-07  
在很多地方都要用到页面记忆功能,最常见的是用在页面的“返回”事件中,返回前一页面并显示之前的一些相关信息。

对于返回事件的处理,说起来倒是满简单的,要么用Cookie,要么用window.parent,当离开需要记忆的页面时,把相关数据存起来,返回的时候读出来就是,关键在于:


1,页面如何知道自己要加载数据?
2,何时销毁数据?


对于保存数据来说,在页面的onunload事件中尽管存就是了。可加载数据呢?肯定要先判断对吧,大家肯定都会设置一个变量,在其它页面的返回事件中对这个变量赋值,返回到该页面时判断出是返回回来的要加载数据,OK,页面加载数据完毕。页面记忆成功了,这个功能完成了?也是,对返回来说已经完成了,可数据什么时候销毁呢?

搜搜搜,可我没有找到一个答案。对于关键的判断变量,在我们页面数据加载后,应该把它销毁的,不然的话,你从其它页面再回到这个页面,数据还是会显示,可那时用户要的或许是一个“处女”页面,而不是被用过的页面。

何时,应该用何种方式销毁,这是个问题,期待高手!

同时,对于页面记忆的情况,除了返回事件外,用户刷新也算是一种情况吧。有时由于某些原因表格数据只显示了一部分,这时用户想到的就是刷新,我刷新,你把数据全部显示出来。OK,这又来了一个问题,你如何判断用户的刷新方式,他是点击导航上的页面链接,F5,还是刷新按钮,还是右键菜单中的刷新?这时页面又该如何判断是否要加载数据?

给你一个支点,你能撬起地球。给出一个疑问,渴求一个方案。大家都来说说。
   发表时间:2008-07-07  
楼主把简单的问题复杂化了,你忘了,这都是基于http协议的,浏览器只要存储一个http请求(一个http的请求当然是包含uri和数据了,但是cookie应该是及时变化的)的队列就行了,而存储的条件就是地址栏的变化触发,仅此而已,当然锚链的变化做过特殊的处理就行了,
具体那些参数是及时变化的,不用分析了,除非你要做浏览器。
0 请登录后投票
   发表时间:2008-07-07  
我遇到的问题就是不知道该怎么销毁数据,如果说在onunload里面销毁,可我同时也在这里存储数据啊,好像陷入了死胡同。

大家是如何实现页面记忆的呢?
0 请登录后投票
   发表时间:2008-07-09  
以前用jsf的时候
managedbean的scope为session时
页面都是有记忆功能的。

但是这个结构ext不知道怎么做。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics