关于“判断网页加载是否完成”的问题

DragonDreammer 2011-02-23 10:18:27
现有一页面:
‘跳转.aspx’中:
<html>
......
....
..
</html>
<script>
document.write("<Script>location.href=\"主页.aspx\"<\/Script>");
</script>
很明显执行这个页面,会直接跳转到‘主页.aspx’
现在执行这样一系列的操作,先从‘登录.aspx’跳到‘跳转.aspx’,‘跳转.aspx’会自动跳到‘主页.aspx’
而此时在‘主页.aspx’页面中点击浏览器的“后退”却直接回到了‘登录.aspx’中?不知为什么,点一步回退不是应该回到‘跳转.aspx’中吗?之所以要写‘跳转.aspx’,就是为了不让用户点“后退”回到‘登录.aspx’中来,而是回到‘跳转.aspx’,由于‘跳转.aspx’是直接执行跳转的代码,所以会让用户再次返回到‘主页.aspx’,从而屏蔽了用户后退的效果!

以上代码在IE中实现没问题,可是为什么火狐,谷歌下就不行了呢?求真相!难道是网页加载未完毕就跳了,浏览器不把‘跳转.aspx’算在历史跳转的记录中?那么我改了下代码如下:
<script>
if(document.readyState == "complete")
document.write("<Script>location.href=\"主页.aspx\"<\/Script>");
</script>
这样页面就始终不执行跳转了?更奇怪的是document更本点不出readyState这个方法来,好像更本不存在这个方法,但是网上
却都是这么说的,不知哪写错了,求指点!
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DragonDreammer 2011-02-26
  • 打赏
  • 举报
回复
我自己研究出来了,重点在“刷新”这个概念上。。。结贴。
DragonDreammer 2011-02-23
  • 打赏
  • 举报
回复
更主要的是用Session的方法在谷歌浏览器下点“前进”“后退”畅通无阻,完全没有效果-_-||
DragonDreammer 2011-02-23
  • 打赏
  • 举报
回复
Session当然是第一时间想到的,我也想用Session,可是就是因为别人规定不能Session,说什么尽量少用Session,会给服务器增加负担,我想这样跳来跳去也很麻烦,但是真想不出更好的办法了。。。能提供非Session的更好方法吗?
  • 打赏
  • 举报
回复
跳来跳去都晕了。你不会在登录页判断SESSION吗?根据SESSION状态决定跳转。这样就不用什么专门的“跳转页”了。回退到登录页发现SESSION是已登录的状态就自动跳转回主页。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧