js中网页前进和后退的代码
发布时间:2025-05-22 09:12:05 发布人:远客网络
一、js中网页前进和后退的代码
前进: history.forward();=history.go(1);
后退: history.back();=history.go(-1);
<<span class="start-tag">mapname="Maps"id="Maps"><<span class="start-tag">areashape="rect"coords="2,2,79,52"href="javascript:history.go(-1);"target="_blank"><<span class="start-tag">areashape="rect"coords="77,2,166,52"href="#"><<span class="starttag">areashape="rect"coords="166,4,242,51"href="#"target="_blank"><<spanclass="starttag">areashape="rect"coords="248,5,318,53"href="javascript:history.go(1);"target="_blank"></<span class="end-tag">map>
如果有target="_blank"这个属性,就会打开一个新的窗口,所以前进和后退没有起作用,所以需要删掉这个属性。
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。
二、javascript怎么禁用浏览器后退按钮
<script language="JavaScript">
javascript:window.history.forward(1);
利用JS产生一个“前进”的动作,以抵消后退功能,这种方法应该是最简洁的,并且不需要考虑用户连点两次或多次“后退”的情况,缺点是当用户端禁用了JavaScript之后即失效。
<A HREF="logout.do" onclick="javascript:location.replace(this.href); event.returnValue=false;">
用location.replace从一个页面转到另一个页面。这种方法的原理是,用新页面的URL替换当前的历史纪录,这样浏览历史记录中就只有一个页面,后退按钮永远不会变为可用。我想这可能正是许多人所寻求的方法,但这种方法仍旧不是任何情况下的最好方法。这种方法的缺点在于:简单地运用Response.Redirect将不再有效,这是因为每次用户从一个页面转到另一个页面,我们都必须用客户端代码清除location.history。另外还要注意,这种方法清除的是最后一个访问历史记录,而不是全部的访问记录。
当键盘敲下后退键(Backspace)后
2、但不影响密码、单行文本、多行文本输入框等的回退操作
<script type="text/javascript">
//处理键盘事件禁止后退键(Backspace)密码或单行、多行文本框除外
var ev= e|| window.event;//获取event对象
var obj= ev.target|| ev.srcElement;//获取事件源
var t= obj.type|| obj.getAttribute('type');//获取事件源类型
var vReadOnly= obj.getAttribute('readonly');
var vEnabled= obj.getAttribute('enabled');
vReadOnly=(vReadOnly== null)? false: vReadOnly;
vEnabled=(vEnabled== null)? true: vEnabled;
//当敲Backspace键时,事件源类型为密码或单行、多行文本的,
//并且readonly属性为true或enabled属性为false的,则退格键失效
var flag1=(ev.keyCode== 8&&(t=="password"|| t=="text"|| t=="textarea")
&&(vReadOnly==true|| vEnabled!=true))?true:false;
//当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
var flag2=(ev.keyCode== 8&& t!="password"&& t!="text"&& t!="textarea")
//禁止后退键作用于Firefox、Opera
document.onkeypress=banBackSpace;
document.onkeydown=banBackSpace;
以上方法都是针对“后退”按钮作出的反应,客户端浏览器需要打开JavaScript代码。
response.setHeader("Cache-Control","no-cache");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma","no-cache");
这种方法使用服务器端脚本,强制浏览器重新访问服务器下载页面,而不从缓存读取,结合struts jsp页面中的<logic>标签实现重新定向。
<script language="JavaScript">
<button onClick="logout()">Logout</button>
这种方法比较偷懒,关掉浏览器再重新开,经过我的测试在视觉上几乎感觉不出来延时,同时又保证了后退按钮不可用(新窗口浏览器后退按钮为灰色),看起来似乎是个好方法,但缺点也比较明显:
首先,关闭和重开的浏览器窗口大小可能不同,用户可以明显看出这一过程,并且在一定程度上影响操作。
其次,同上,这是一个JavaScript方法。
三、JavaScript返回上一页的三种方法及区别介绍
1、在JavaScript编程中,有三种常见的方法可以让网页返回上一页,它们各自有不同的特性和用法。首先,最直接的方式是使用window.history.go(-1);这个语句,它会回退到用户浏览历史中的前一个页面,无需刷新当前页面。
2、另一种方法是window.history.back();这个方法类似于按浏览器的后退按钮,同样可以回到上一个页面,但不会刷新页面内容,保持页面状态。然而,如果需要强制刷新上一个页面,可以组合使用window.history.back()和location.reload();这样会先触发后退操作,再执行页面的刷新。
3、最后,如果你想单纯地返回并刷新上一页,可以使用window.location.go(-1);这个方法,它会直接跳转到历史记录中的前一个页面,并且强制进行页面的重新加载,所有内容都会更新为新的页面状态。
4、每种方法都有其适用的场景,选择哪种取决于你的具体需求,如是否需要保持页面状态,或者是否需要刷新页面内容。理解并掌握这些方法,将有助于你更好地控制浏览器行为,提升用户体验。