iframe 后退 父窗口同时后退如何解决 在线等 解决立即散分 本帖最后由 lksdlkfjksdfj 于 2009-10-25 17:40:51 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我说的后退时页面回到上一个页面 现在点后退时只有iframe里面的页面回到了上一个页面,嵌套iframe框架的页面却没有回到上一个页面 比如你打开CSDN主页一样,整个页面是个框架,点击左边的数链接的时候,右边列表会变化,那么你说现在点这个后退的时候,你要怎么变化呢?他不就是变化右边的列表框架吗?你还想http://community.csdn.net/,这个地址转到哪里去呢?转到www.baidu.com去? 不是点击链接,是点击ie的后退按钮时候,让iframe和嵌套iframe框架的页面都回到上一页 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Center.aspx.cs" Inherits="Center" %><%@ Register Src="UserControls/MainMenu.ascx" TagName="MainMenu" TagPrefix="uc11" %><%@ Register Src="UserControls/CommBottom.ascx" TagName="CommBottom" TagPrefix="uc9" %><%@ Register Src="UserControls/QuickCross.ascx" TagName="QuickCross" TagPrefix="uc8" %><%@ Register Src="UserControls/Seek.ascx" TagName="Seek" TagPrefix="uc7" %><%@ Register Src="UserControls/ShowLink.ascx" TagName="ShowLink" TagPrefix="uc6" %><%@ Register Src="UserControls/Server.ascx" TagName="Server" TagPrefix="uc5" %><%@ Register Src="UserControls/Bottom.ascx" TagName="Bottom" TagPrefix="uc4" %><%@ Register Src="UserControls/PartMenu.ascx" TagName="PartMenu" TagPrefix="uc3" %><%@ Register Src="UserControls/Head.ascx" TagName="Head" TagPrefix="uc2" %><%@ Register Src="UserControls/Title.ascx" TagName="Title" TagPrefix="uc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><!--Title--><uc1:Title ID="Title1" runat="server" /><!--End--><script type="text/javascript"> function resizeIframe(obj) { var Iframe = document.getElementById(obj); if (Iframe){ if (Iframe.contentDocument){//ff Iframe.style.height = "750px"; } else if(Iframe.document && Iframe.document.body.scrollHeight){//ie Iframe.style.height = infmain.document.body.scrollHeight;; } } }</script></head><body><table border="0" align="center" cellpadding="0" cellspacing="0" class="conten"> <tr> <td> <!--Head--><uc2:Head ID="Head1" runat="server" /><!--End--> </td> </tr> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td rowspan="3" valign="top" width="229px;" align="left" background="images/index_20.jpg" bgcolor="#C3C1C1" style="background-position:bottom;background-repeat:no-repeat"> <table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#C3C1C1" > <tr> <td height="450" valign="top" ><table width="16%" border="0" cellpadding="0" cellspacing="0" class="left_l"> <tr> <td class="left_l"> </td> </tr> <tr> <td class="left_l" style="height: 237px"> <table width="100%" border="0" cellpadding="0" cellspacing="0" class="left_2"> <tr> <td align="center" valign="top"> <!--MainMenu--> <uc3:PartMenu ID="PartMenu1" runat="server" /> <!--End--> </td> </tr> <tr> <td><img src="images/index_10.jpg" width="208" height="18" /></td> </tr> </table></td> </tr> <tr> <td class="left_l"><uc6:ShowLink ID="ShowLink1" runat="server" /><td><br /> </tr> <tr> <td><img src="images/index_17.jpg" width="218" height="18" /></td> </tr> <tr> <td bgcolor="#C3C1C1"> </td> </tr> <tr><td><!--Server--><uc5:Server ID="Server1" runat="server" /> <!--End--></td></tr></table></td> </tr> <tr> <td> </td> </tr> </table> </td> <td height="500" valign="top" align="right"><iframe id="infmain" name="infmain" src="/CenterIn.aspx?<%=Request.QueryString %>&url=<%=Request.QueryString.ToString().Replace("=","[=]").Replace("&","|") %>" scrolling="no" frameborder="0" width="100%" onload="resizeIframe('infmain')"></iframe> </td> </tr> </table></td> </tr> <tr><td> <!--Bottom--> <uc4:Bottom ID="Bottom1" runat="server" /><!--End--></td></tr></table></body></html> 只有B页面前进了,A页面没有前进,所以,点击IE后退时,只有B页面会后退。 上面是我的设计页面的代码,你看下iframe框架是怎么用的 是的 A页面的地址没有发生变化 A页面改变的只是一个样式,准确的说,如果B页面回到上一页,那么A页面回到上一个样式 就是这样 跟你讲,你这个根本是不可以实现的,后退只是实现地址后退,而不能实现js后退或者Ajax后退(这也是Ajax的缺点)你这种情况,不用说什么框架不框架的了,比如点击一个东西用js更改页面上的一个样式,后退按钮是不可点击的,因为你的页面地址没发生改变。 地址是发生变化了,是那个页面里的iframe地址 在变幻iframe路径的时候,浏览器的历史记录也会记住你的iframe中的src,我现在也遇到这个问题,求解... 如何让字符串转换成C#代码 .net哪位大哥帮小弟写一个小程序让我参考下 谢谢了 发我QQ游戏也行。麻烦咯 采集问题。。。琢磨了半天,无从下手。 我看了一个js给table分页的方法 我怎么调用这个方法? 如何动态添加html控件的事件 日期问题!急! 研究过GotDotNetMenuSource代码的高手请进! 一个随机数的问题,各位大哥帮忙呀!!! 关于Linq的Contains包含集合的查询 请教一个前端Jquery的问题,急急急。 WinForm程序获取服务器空间文件的信息 大师请进。。超时时间已到,但是尚未从池中获取连接。
<%@ Register Src="UserControls/MainMenu.ascx" TagName="MainMenu" TagPrefix="uc11" %>
<%@ Register Src="UserControls/CommBottom.ascx" TagName="CommBottom" TagPrefix="uc9" %>
<%@ Register Src="UserControls/QuickCross.ascx" TagName="QuickCross" TagPrefix="uc8" %>
<%@ Register Src="UserControls/Seek.ascx" TagName="Seek" TagPrefix="uc7" %>
<%@ Register Src="UserControls/ShowLink.ascx" TagName="ShowLink" TagPrefix="uc6" %>
<%@ Register Src="UserControls/Server.ascx" TagName="Server" TagPrefix="uc5" %>
<%@ Register Src="UserControls/Bottom.ascx" TagName="Bottom" TagPrefix="uc4" %>
<%@ Register Src="UserControls/PartMenu.ascx" TagName="PartMenu" TagPrefix="uc3" %>
<%@ Register Src="UserControls/Head.ascx" TagName="Head" TagPrefix="uc2" %>
<%@ Register Src="UserControls/Title.ascx" TagName="Title" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--Title--><uc1:Title ID="Title1" runat="server" /><!--End-->
<script type="text/javascript">
function resizeIframe(obj) {
var Iframe = document.getElementById(obj);
if (Iframe){
if (Iframe.contentDocument){//ff
Iframe.style.height = "750px";
}
else if(Iframe.document && Iframe.document.body.scrollHeight){//ie Iframe.style.height = infmain.document.body.scrollHeight;;
}
}
}
</script>
</head>
<body>
<table border="0" align="center" cellpadding="0" cellspacing="0" class="conten">
<tr>
<td>
<!--Head--><uc2:Head ID="Head1" runat="server" /><!--End-->
</td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="3" valign="top" width="229px;" align="left" background="images/index_20.jpg" bgcolor="#C3C1C1" style="background-position:bottom;background-repeat:no-repeat">
<table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#C3C1C1" >
<tr>
<td height="450" valign="top" ><table width="16%" border="0" cellpadding="0" cellspacing="0" class="left_l">
<tr>
<td class="left_l"> </td>
</tr>
<tr>
<td class="left_l" style="height: 237px">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="left_2">
<tr>
<td align="center" valign="top">
<!--MainMenu-->
<uc3:PartMenu ID="PartMenu1" runat="server" />
<!--End-->
</td>
</tr>
<tr>
<td><img src="images/index_10.jpg" width="208" height="18" /></td>
</tr>
</table></td>
</tr>
<tr>
<td class="left_l"><uc6:ShowLink ID="ShowLink1" runat="server" /><td><br /> </tr>
<tr>
<td><img src="images/index_17.jpg" width="218" height="18" /></td>
</tr>
<tr>
<td bgcolor="#C3C1C1"> </td>
</tr>
<tr><td><!--Server--><uc5:Server ID="Server1" runat="server" />
<!--End--></td></tr>
</table></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td height="500" valign="top" align="right">
<iframe id="infmain" name="infmain" src="/CenterIn.aspx?<%=Request.QueryString %>&url=<%=Request.QueryString.ToString().Replace("=","[=]").Replace("&","|") %>" scrolling="no" frameborder="0" width="100%" onload="resizeIframe('infmain')"></iframe>
</td>
</tr>
</table></td>
</tr>
<tr><td> <!--Bottom-->
<uc4:Bottom ID="Bottom1" runat="server" /><!--End--></td></tr>
</table>
</body>
</html>
只有B页面前进了,A页面没有前进,所以,点击IE后退时,只有B页面会后退。
跟你讲,你这个根本是不可以实现的,后退只是实现地址后退,而不能实现js后退或者Ajax后退(这也是Ajax的缺点)你这种情况,不用说什么框架不框架的了,比如点击一个东西用js更改页面上的一个样式,后退按钮是不可点击的,因为你的页面地址没发生改变。
地址是发生变化了,是那个页面里的iframe地址