当前位置:编程学习 > C#/ASP.NET >>

网页跳转如何不留历史地址?

使用框架结构,left 和 right框架
在左框架点击某功能后再右面显示页面;
使用 Response.Write("<script>parent.Right.location.href='XXX.aspx',window.status ='XX';</script>")
使用了以后发现,地址栏是会保留此地址及aspx文件名字,


如何才能不保留呢? --------------------编程问答-------------------- 什么意思呢
用了框架地址栏应该是不变的啊
试下下面的

this.Page.RegisterStartupScript("click", "<script>window.parent.frames(1).location='welcome.aspx'</script>");

或者
Response.Write("<script>window.parent.frames(1).location='welcome.aspx'</script>");
--------------------编程问答-------------------- 清除cookie? --------------------编程问答-------------------- Response.Cache.SetNoStore();
Response.Write("<script>window.parent.frames(1).location='welcome.aspx'</script>");
--------------------编程问答--------------------
引用 1 楼 dengchenlu 的回复:
什么意思呢 
用了框架地址栏应该是不变的啊 
试下下面的 

C# code
this.Page.RegisterStartupScript("click", "<script>window.parent.frames(1).location='welcome.aspx'</script>");

或者
Response.Write("<script>window.parent.frames(1).location='welcome.aspx'</script>");



我用的是VS2008 vb.net

虽然地址栏地址是不变得,但并不代表不记录代码跳转的地址。 --------------------编程问答--------------------
引用 3 楼 chen_lichao 的回复:
Response.Cache.SetNoStore(); 
Response.Write(" <script>window.parent.frames(1).location='welcome.aspx' </script>"); 


试了一下,没变化 --------------------编程问答--------------------
引用 5 楼 lpodh 的回复:
引用 3 楼 chen_lichao 的回复:
Response.Cache.SetNoStore();
Response.Write("  <script>window.parent.frames(1).location='welcome.aspx'  </script>");


试了一下,没变化


搂主说的是历史记录,不是地址栏地址 --------------------编程问答--------------------
引用 6 楼 brz97 的回复:
引用 5 楼 lpodh 的回复:
引用 3 楼 chen_lichao 的回复: 
Response.Cache.SetNoStore(); 
Response.Write("  <script>window.parent.frames(1).location='welcome.aspx'  </script>"); 


试了一下,没变化 
 

搂主说的是历史记录,不是地址栏地址


框架结构地址栏肯定是不变的,但在里面运行了Response.Write,在历史记录里有地址 --------------------编程问答-------------------- 或者说


用什么跳转语句,能在框架结构中跳转 并 能不保留Cache地址, --------------------编程问答-------------------- Response.Write(" <script>parent.Right.location.replace('XXX.aspx'),window.status ='XX'; </script>") 



使用replace可以不保留历史痕迹 --------------------编程问答-------------------- 1.htm
1.htm<br/>
<input type="button" value="更改url" onclick="window.location.replace('2.htm')" />


2.htm
2.htm<br/>
<input type="button" value="更改url" onclick="window.location.replace('1.htm')" />



这样就不会有历史记录了 --------------------编程问答--------------------
引用 9 楼 showbo 的回复:
Response.Write(" <script>parent.Right.location.replace('XXX.aspx'),window.status ='XX'; </script>") 


使用replace可以不保留历史痕迹


replace 使用在框架中会出错
--------------------编程问答-------------------- 说错了,在框架中用replace没反应
--------------------编程问答-------------------- d --------------------编程问答-------------------- mark --------------------编程问答--------------------
引用 10 楼 showbo 的回复:
1.htm 

HTML code1.htm<br/>
<input type="button" value="更改url" onclick="window.location.replace('2.htm')" />



2.htm 

HTML code2.htm<br/>
<input type="button" value="更改url" onclick="window.location.replace('1.htm')" />




这样就不会有历史记录了




依然会有 --------------------编程问答--------------------
引用 12 楼 lpodh 的回复:
说错了,在框架中用replace没反应 


依然会有 --------------------编程问答-------------------- 有没有高手啊,急等 --------------------编程问答--------------------
引用 9 楼 showbo 的回复:
Response.Write(" <script>parent.Right.location.replace('XXX.aspx'),window.status ='XX'; </script>") 


使用replace可以不保留历史痕迹


顶,就使用replace的 --------------------编程问答-------------------- replace不会有历史记录的,你试我的例子就知道了


而且你的问题视乎描述不太正确

如果你更改另外一个frame的url,浏览器的地址栏是不会变的,显示的是放framset的页面的地址 --------------------编程问答--------------------
引用 19 楼 showbo 的回复:
replace不会有历史记录的,你试我的例子就知道了 


而且你的问题视乎描述不太正确 

如果你更改另外一个frame的url,浏览器的地址栏是不会变的,显示的是放framset的页面的地址


没错,是不会变.


我试了你的例子,但确实还是有历史痕迹 --------------------编程问答-------------------- Response.Write(" <script>parent.Right.location.replace('XXX.aspx'),window.status ='XX'; </script>") 



不甘心,再次试了一下还是有历史记录,是不是要配合其他语句使用????? --------------------编程问答-------------------- 这个俺也不知道,做个标记。 --------------------编程问答-------------------- 标记. --------------------编程问答-------------------- 楼主还是贴出来自己的框架代码吧。
location.replace是根本不可能存在历史痕迹的。除非楼主的机器装的不是目前的主流系统,有其自己的一套脚本执行机制。 --------------------编程问答-------------------- 不好意思,没仔细看楼主的要求。
给你答案。请变通一下就OK了。
框架页:
<html>
<head>
<title></title>
</head>
<frameset cols="100,*">
  <frame src=left.htm>
  <frame src=main.htm>
</frameset>
</html>

left.htm:
<a href=# id=a1 onclick="javascript:parent.window.frames[1].location.replace('1.htm')">1.htm</a>
<BR>
<a href=# id=a2 onclick="javascript:parent.window.frames[1].location.replace('2.htm')">2.htm</a> --------------------编程问答-------------------- 不好意思,没仔细看楼主的要求。
给你答案。请变通一下就OK了。
框架页:
<html>
<head>
<title></title>
</head>
<frameset cols="100,*">
  <frame src=left.htm>
  <frame src=main.htm>
</frameset>
</html>

left.htm:
<a href=# id=a1 onclick="javascript:parent.window.frames[1].location.replace('1.htm')">1.htm</a>
<BR>
<a href=# id=a2 onclick="javascript:parent.window.frames[1].location.replace('2.htm')">2.htm</a> --------------------编程问答--------------------
引用 26 楼 SunshineRide 的回复:
不好意思,没仔细看楼主的要求。 
给你答案。请变通一下就OK了。 
框架页: 
<html> 
<head> 
<title> </title> 
</head> 
<frameset cols="100,*"> 
  <frame src=left.htm> 
  <frame src=main.htm> 
</frameset> 
</html> 

left.htm: 
<a href=# id=a1 onclick="javascript:parent.window.frames[1].location.replace('1.htm')">1.htm </a> 
<BR> 
<a href=# id=a2 onclick="javascript:parent.window.frame…


parent.window.frames[1]????
获取父级还能有WINDOW OBJECT??

Function setURL(ToFrames,Url){
 parent.document.frames[ToFrames].location.replace(Url);
}


<a href="#" onclick="setURL('right','1.htm')">连接</a>
--------------------编程问答-------------------- Response.Write("<script Language=Javascript>window.top.location=\"login.aspx\";</script>"); --------------------编程问答-------------------- 原代码如下,框架
<frameset rows="0,100%,0%" framespacing="0" border="false"  >
  <frame src= "Main.htm" name = "top" scrolling="Auto"  marginwidth=5  >
  <frameset cols="15%,85%" frameborder="yes" >
    <frame  name = "Left" src="LeftMain.aspx"  scrolling="no" >   
    <frame name = "Right" src="RightMain.aspx" scrolling="auto">
  </frameset>
  <frame src="Main.htm" name = "foot" scrolling="Auto"  marginwidth=5 >
</frameset>

左框架上用的是 LinkButton
如某个LinkButton的Click事件代码是:
Response.Write("<script>parent.Right.location.href='XX.aspx',window.status ='XX';</script>") --------------------编程问答-------------------- 后来把最后一句改成
Response.Write(" <script>parent.Right.location.replace('XX.aspx'),window.status ='XX'; </script>")

依然有历史 --------------------编程问答-------------------- 就是让打开的窗体还成为父窗体。 --------------------编程问答-------------------- mark
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,