javascript 实现页面跳转 然后按返回键不会回到上一页 应该怎么写 10
你是说返回键不会回到跳转之前的那个页面?
这个非常的简单!
不知道你的js基础怎么样? 在我们的js的dom编程基础知识里面我们已经指定浏览器对象的6大属性。 其中就有location对象和history这连个对象 。分别介绍两个对象
location:存储了大量的关于当前页面的地址信息。还有连接到web服务器的端口等(这个不是重点)
history这个对象存储了浏览器浏览过得历史页面(它里面有个历史栈)。
location有个方法叫 replace(url) 这个方法可以替换history对象里面里面的历史栈当前页面
换成新的(也就意味着跳转后 注意哦这个跳转是意味着我们跳转之前最起码是在一个页面的基础之上才可以跳转到另一个页面的),这也意味着“后退”或者“前进”都无法在回到跳转之前的页面了。因为在历史栈帧它(跳转之前的页面)已经被替换了。这个替换就是通过location的replace方法实现的。
下面贴出代码!
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javaScript">
function f() {
alert(history.length);
location.replace('http://www.baidu.com');
alert(history.length);
}
</script>
</head>
<body>
这个是一个页面
<button type="button" onclick="f()">点击我跳转新的页面</button>
</body>
</html>
我不确定这个是不是你要的! 知识利用了replace这个方法将历史栈中的页面替换了。我理解你的提出的问题“回不到上一页” 我就当是那个页面再也找不到了。
解决方法:
第一种:
<script language="javascript" type="text/javascript">
window.location.href="login.jsp?backurl="+window.location.href;
</script>
第二种:
<script language="javascript">
alert("返回");
window.history.back(-1);
</script>
其他解决方法:
一:
<script language="javascript">
window.navigate("top.jsp");
</script>
二:
<script language="JavaScript">
self.location='top.htm';
</script>