
locationreload 方法是重新加载页面,这个相当于你按键盘的 F5 键,是不能带参数的。
按你说的意思,功能本身是可以实现的,但不是使用 locationreload ,而且是有前提条件的。
浏览器为了安全起见,是不能 *** 作地址不同源的 iframe 标签里的内容的,只能对同源地址的iframe进行 *** 作,什么是同源,如果你不了解,请先搜索一下”同源策略“,简单来说就是 iframe 标签所引入的页面,必须跟你的 主页面是同一个网站中的页面。
如果你上面的效果满足上述前提,也就是 iframe 中引入的页面跟主页面都是你自己写的,而且是同一个网站,那么实现的大概思路是这样的:
1, 点击主页面的查询,将数据显示在 iframe 页面里。
就是在主页面中发起查询请求,然后在iframe 页面中显示查询结果。这里需要js配合,有两种实现方式,一是通过地址栏传递参数,另一种是直接用 js 硬写入 iframe 页面中。 如果是通过地址栏传递参数,在点击主页面的查询之后,在js中使用 iframesrc = 'htmlkey1=vaue1&key2=value2' 的方式传递给 iframe 页面,然后 iframe 页面中也需要用 js 来处理传递过来的参数,采用 locationsearch 来获取传递过来的所有参数,然后进行分割处理;如果是直接硬写入 iframe 页面中,则需要获取到 iframe 页面中相应的标签,获取当前页面中的某个元素,是用 documentget 之类的方法,这里的 document 就是指当前页面的文档对象,那么获取 iframe ,当然得通过 iframe 页面的文档对象,获取iframe页面文档对象的方法是 iframecontentWindowdocument (iframe指的是 iframe标签,需要先用js获取到这个标签),获取到指定标签之后,就跟 *** 作当前页面一样写数据了。
2,从iframe 子页面中返回数据到主页面中显示,这个跟上面第一步是一样的,也有两种实现思路,也是地址栏传递参数或者硬写,但因为地址栏传参会刷新页面,用户体验不好,所以还是采用硬写入的方式。 主页面写数据到iframe标签,需要先获取标签,反过来也是一样的,iframe页面中写数据到主页面,同样需要先获取到主页面中的标签,获取原理相通,先要找到主页面的文档对象,这里需要清楚整体的页面结构,主页面与 iframe 页面是直接的父子级关系,还是多层嵌套关系?如果是直接的父子关系,那就是 windowparentcontentWindowdocument, 如果主页面是最顶层,那就是 windowtopcontentWindowdocument 。
页面传值有很多种方法,这里只用Session来做吧
母版页:(Defaultaspx)
页面:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
代码:
protected void Button1_Click(object sender, EventArgs e)
{
Session["id"] = TextBox1TextToString();
ResponseRedirect("WebForm1aspx");
}
子页:(WebForm1aspx)
页面:
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
代码:
protected void Page_Load(object sender, EventArgs e)
{
Label1Text = Session["id"]ToString();
}
在母页输入值点按钮,转到子页就可以看到你所传的值了``希望能帮到你哦!!
在iframe子页面获取父页面元素 代码如下: 代码如下: $('#objld', parentdocument); 在父页面获取iframe子页面的元素 代码如下: 代码如下: $("#objid", documentiframes('iframe')document) 或 代码如下: $(documentgetElementById('ifram
html页面之间可以用url参数传递,适用于单个参数传递
父页面中
使用url带参数方式给字面传输参数csdaizuocompara1=data1¶2=data2,参数使用&分割
子页面中
子页面中使用浏览器的getParameter获取url中传递过来的参数
<%
String data1=requestgetParameter("para1");
String data2=requestgetParameter("para2");
%>
<!DOCTYPE html>
<html>
<head>
<title>子窗口</title>
<script type="text/javascript">
documentwrite(windowparentdocumentURL);
</script>
</head>
<body>
</body>
</html><!DOCTYPE html>
<html>
<head>
<title>父窗口</title>
</head>
<body>
<-- 需要与子窗口保持在同一目录下,或修改此处连接地址 -->
<iframe src="childhtml" style="width:500px;height:500px;"></iframe>
</body>
</html>
这个需要在IE中查看,如果要用谷歌浏览器,需要部署到服务器上。
以上就是关于子窗口怎样获取父窗口的地址盼高手!全部的内容,包括:子窗口怎样获取父窗口的地址盼高手!、求教js获取url参数、js中location.reload可以跨页面传值么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)