JavaScript实现页面跳转:通过重定向模拟关闭旧窗口

作者:拾光时间:2026-10-23 11:38:16浏览:269

由于浏览器安全限制,JavaScript无法直接通过脚本关闭当前窗口,因此无法完美实现“打开新窗口同时关闭旧窗口”的功能。本文介绍一种通过修改当前页面URL(重定向)来模拟该效果的替代方案,并列举了多种JavaScript页面跳转与返回的方法供参考。

通过重定向URL实现打开新窗口的同时“关闭”旧窗口

关于在JavaScript中实现打开新窗口并关闭旧窗口的需求,其实际效果与浏览器版本紧密相关。受限于现代浏览器的安全策略,目前尚无完美的通用解决方案。鉴于业务场景的必要性,这里提供一种通过重定向URL来实现类似效果的替代方法。


该方法的核心思路是通过重定向当前页面的URL,从而在视觉上实现“关闭”旧页面并展示新页面的效果。


示例文件:test1.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<HTML>


<HEAD>


<TITLE> test1 </TITLE>


<META NAME="Generator" CONTENT="EditPlus">


<META NAME="Author" CONTENT="">


<META NAME="Keywords" CONTENT="">


<META NAME="Description" CONTENT="">


</HEAD>


<script type="text/javascript">


function toNewWindow() {


window.top.location.href="test2.html";


}

</script>


<BODY>


<input type="button" value="打开另一个页面test2.html" onclick="toNewWindow()">


</BODY>


</HTML>


示例文件:test2.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<HTML>


<HEAD>


<TITLE>test2.html</TITLE>


<META NAME="Generator" CONTENT="EditPlus">


<META NAME="Author" CONTENT="">


<META NAME="Keywords" CONTENT="">


<META NAME="Description" CONTENT="">


</HEAD>


<BODY>


通过重写URL,打开了要跳转的页面test2.html


</BODY>


</HTML>


附:页面跳转的各种方法

附录:JavaScript中常见的页面跳转方法汇总


第一种方法:


<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>


第五种方法:


<script language="javascript">


alert("非法访问!");


top.location='xx.jsp';


</script>


补充:JavaScript中弹出确认框后跳转页面


<script language="javascript">


<!--

function logout()...{


if (confirm("你确定要注销身份吗?是-选择确定,否-选择取消"))...{


window.location.href="/logout.asp?act=logout"


}
}
-->

</script>


补充:JavaScript中弹出提示框后跳转页面


<script language="javascript">


<!--

function logout()...{


alert("你确定要注销身份吗?");


window.location.href="/logout.asp?act=logout"


}
-->

</script>


作者最新文章

相关标签: