多级页面间的后退如何实现(js方法)

多级页面间的后退如何实现(js方法),第1张

浏览器的“后退”功能与页面的级数无关。它是将一个窗口依次浏览过的多个页面按顺序排列成历史列表,每次点击“后退”按钮或用js脚本触发“后退”功能时,它将依据当前窗口的历史列表来后退展示页面。js脚本示例如下:

window.history.go(-1) //后退一页

window.history.go(-2) //后退两页

以上代码中的数字为负数,表示后退,正数表示前进。

窗口浏览的页面有可能是不断重复某两个页面,那么go(-1)方法也将在这两个页面之间轮回多次。如果想要快速后退到这两个页面之前的页面,只能使用更精确的记忆方法了,浏览器自带的历史功能无法满足需求。比如,使用cookies来记录访问URL的历史,也可以记忆必要的参数,需要后退的时候直接对window.location进行赋值(重定向),跳转到想要到达的页面。

这是ajax的一个经典问题,很多框架都提供了解决方案,重点是模拟浏览器的前进后退。

对于IE,可以用一个隐藏框架,对框架内容的导航会使得前进后退按钮被触发。

对以FF,可以用Hash,即改变http://www.url.com/#abc井号后面的部分,前进后退按钮同样被触发。

这样就能既让浏览器前进后退按钮被触发,同时又不离开本页面。具体方法如下:

1.resize事件 (window).resize(function() { var width = (this).width()var height = (this).height()})

2.js条用这个方法 function closewindow{ history.go(-1)}

3.<input type="button" value="后退" onClick="history.back()">或 <input type="button" value="后退" onClick="history.go(-1)">

4.window.location.replace Location对象的replace()方法将用指定的URL替换浏览器历史列表中的当前URL,而不是在历史列表中创建一个新的项,因此,就不能使用IE的后退按钮来返回原始文档了。 2.window.open(FF无效...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11675515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存