js方式实现页面跳转或刷新

来源:互联网 发布:哥哥帅体验知乎 编辑:程序博客网 时间:2024/05/17 02:29

js方式的页面跳转

一,跳转
1.window.location.href方式
    <script language="javascript" type="text/javascript">
           window.location.href="target.aspx"; 
    </script>

2.window.navigate方式跳转
   <script language="javascript">
    window.navigate("target.aspx");
</script>

3.window.loction.replace方式实现页面跳转,注意跟第一种方式的区别
<script language="javascript">
    window.location.replace("target.aspx");
</script>
有3个jsp页面(1.aspx, 2.aspx, 3.aspx),进系统默认的是1.aspx,当我进入2.aspx的时候, 2.aspx里面用window.location.replace("3.aspx");

与用window.location.href ("3.aspx");

从用户界面来看是没有什么区别的,但是当3.aspx页面有一个"返回"按钮,调用window.history.go(-1); wondow.history.back();方法的时候,一点这个返回按钮就要返回2.aspx页面的话,区别就出来了,当用 window.location.replace("3.aspx");连到3.aspx页面的话,3.aspx页面中的调用 window.history.go(-1);wondow.history.back();方法是不好用的,会返回到1.aspx。

4.self.location方式实现页面跳转,和下面的top.location有小小区别
   <script language="JavaScript">
          self.location='target.aspx';
   </script>

5.top.location
   <script language="javascript">
          top.location='target.aspx';
   </script>

6.不推荐这种方式跳转
    <script language="javascript">
    alert("返回");
    window.history.back(-1);
   </script>

7.meta方式实现跳转(content = 3 单位是秒)
<meta http-equiv=refresh content=3;URL="http://www.dayanmei.com">

8.弹窗提示

<script language="javascript"> 
<!-- 
function logout()...{ 
alert("你确定要注销身份吗?"); 
window.location.href="logout.asp?act=logout" 

--> 
</script> 

9.其他跳转

a.按钮式: 
<INPUT name="pclog" type="button" value="GO" onClick="location.href='http://www.ddhbb.com/'">

b.链接式: 
<a href="javascript:history.go(-1)">返回上一步</a> 
<a href="<%=Request.ServerVariables("HTTP_REFERER")%>">返回上一步</a> 

c.直接跳转式: 
<script>window.location.href='http://www.ddhbb.com';</script> 

d.开新窗口: 
<a href="javascript:" onClick="window.open('http://www.ddhbb.com/blog/guestbook.asp','','height=500,width=611,scrollbars=yes,status=yes')">足迹</a> 

e.转发,重定向等

 <jsp:forward page="" />

它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印记。如果在调用forward方法之前向Servlet引擎的缓冲区(response)中写入了内容,只要写入到缓冲区中的内容还没有被真正输出到客户端,forward方法就可以被正常执行,原来写入到输出缓冲区中的内容将被清空,否则转发失败!但是,已写入到HttpServletResponse对象中的响应头字段信息保持有效。即一般转发之前最好不要向浏览器输入内容,可以设置头信息;

注意:它不能改变浏览器地址,刷新的话会导致重复提交 

二 ,返回:

1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2); 
2. history.back(). 
3. window.history.forward()返回下一页 
4. window.history.go(返回第几页,也可以使用访问过的URL) 
例: 
<a href="javascript:history.go(-1);">向上一页</a> 
response.Write("<script language=javascript>") 
response.Write("if(!confirm('完成任务?')){history.back();}") 
response.Write("</script>") 
response.Write("<script language=javascript>history.go(-1);</script>") 
<a href="javascript:history.go(-1);">向上一页</a> 

页面跳转:onclick="window.location.href='list.aspx'" 

小技巧(JS引用JS): 

[javascript] view plain copy
  1. <mce:script type=text/javascript><!--  
  2.    
  3. if (typeof SWFObject == "undefined") {   
  4. document.write('<scr' + 'ipt type="text/javascript" src="/scripts/swfobject-1.5.js"></scr' + 'ipt>');}  
  5. // --></mce:script>   


三 ,刷新

Javascript刷新页面的几种方法: 
1    history.go(0)
2    location.reload()
3    location=location
4    location.assign(location)
5    document.execCommand('Refresh')
6    window.navigate(location)
7    location.replace(location)

8    document.URL=location.href

例如:

<input type=button value="刷新" onclick="history.go(0)">

代码如下:

<input type=button value="刷新" onclick="location.reload()">

代码如下:

<input type=button value="刷新" onclick="location=location">

代码如下:

<input type=button value="刷新" onclick="window.navigate(location)">



自动刷新页面的方法:
1.页面自动刷新:把如下代码加入<head>区域中
<meta http-equiv="refresh" content="20">
其中20指每隔20秒刷新一次页面

2.页面自动跳转:把如下代码加入<head>区域中
<meta http-equiv="refresh" content="20;url=http://www.wyxg.com">
其中20指隔20秒后跳转到http://www.wyxg.com页面

3.页面自动刷新js版
[c-sharp] view plain copy
  1. <mce:script language="JavaScript"><!--  
  2.    
  3. function myrefresh()   
  4. {   
  5.        window.location.reload();   
  6. }   
  7. setTimeout('myrefresh()',1000); //指定1秒刷新一次   
  8. // --></mce:script>   


ASP.NET如何输出刷新父窗口脚本语句 
1.   this.response.write("<script>opener.location.reload();</script>");

2.   this.response.write("<script>opener.window.location.href = opener.window.location.href;</script>");

3.   Response.Write("<script language=javascript>opener.window.navigate(''你要刷新的页.asp'');</script>")

JS刷新框架的脚本语句 

//如何刷新包含该框架的页面用
<script language=JavaScript>
   parent.location.reload();
</script>

//子窗口刷新父窗口
<script language=JavaScript>
    self.opener.location.reload();
</script> 
(或<a href="javascript:opener.location.reload()">刷新</a>)

//如何刷新另一个框架的页面用
<script language=JavaScript>
   parent.另一FrameID.location.reload();
</script>

如果想关闭窗口时刷新或者想开窗时刷新的话,在<body>中调用以下语句即可。

[javascript] view plain copy
  1. <body onload="opener.location.reload()"> 开窗时刷新   
  2. <body onUnload="opener.location.reload()"> 关闭时刷新   
  3.   
  4. <mce:script language="javascript"><!--  
  5.    
  6. window.opener.document.location.reload()   
  7. // --></mce:script>  

0 0