子窗口怎样获取父窗口的地址盼高手!

子窗口怎样获取父窗口的地址盼高手!,第1张

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可以跨页面传值么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9417917.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存