HTML框架IFrame下利用JS在主页面和子页面间传值
下面主页面和子页面互相传值的DEMO 如果仅仅需要子页面触发主页面的函数 仅需 [ parent.window.你的函数 ] 就可以了
DOM方法:
父窗口操作IFRAME:window.frames["iframeSon"].document
IFRAME操作父窗口: window.parent.document
jquery方法:
在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(”:text”);
在IFRAME中操作 选中父窗口中的所有输入框:$(window.parent.document).find(”:text”);
iframe框架的HTML:<iframe src=”test.html” id=”iframeSon” width=”700″ height=”300″ frameborder=”0″ scrolling=”auto”></iframe>
细心的朋友一下就能理解,原理其实很简单,就是用到了$(DOM对象)转换成jquery对象。
例子:
主页面
<title>主页面</title>
<script type="text/javascript" src="css_js/jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function showSubValue(){
//var v = window.frames[0].document.getElementById("subdiv1").innerHTML;
//alert(v);
// http://hi.baidu.com/bigideaer/blog/item/780337e6af39933d2df534ff.html
var o = $(window.frames[0].document).find(":div#subdiv1");
alert(o.html());
}
</script>
</head>
<body>
<div id="mainDiv">主页面测试数据</div>
<input type="button" value="查看子页面数据" onclick="showSubValue();"/>
<iframe src="sub.html" width="300" height="300"></iframe>
</body>
</html>
子页面:
<script type="text/javascript" src="css_js/jquery/jquery-1.3.2.min.js"></script>
<title>子页面</title>
<script type="text/javascript">
function showMainValue(){
//dom方式
//var v = window.parent.document.getElementById("mainDiv").innerHTML;
//alert(v);
//window.parent.document.getElementById("mainDiv").innerHTML = "修改后的主页面数据";
//jquery方式
var o = $(window.parent.document).find(":div#mainDiv");
alert(o.html());
}
</script>
</head>
<body>
<div id="subdiv1">子页面测试数据</div>
<input type="button" value="显示父页面数据" onclick="showMainValue();"/>
</body>
</html>
相关推荐
总结来说,`iframe`与父页面传值涉及的技术包括`postMessage`、`window.name`、查询字符串、hash等,并且需要注意跨域安全和同源策略的限制。这些技术在实际开发中被广泛应用于实现各种复杂功能,如组件化开发、页面...
然而,当涉及到`iframe`与主页面之间的数据通信时,就需要使用特定的技术来实现子父界面的传值。本文将深入探讨`iframe`子父界面传值的几种方法和应用实例。 ### 1. JavaScript通信 #### 1.1 `window.parent` `...
JavaScript(JS)是一种广泛用于网页和网络应用的脚本语言,尤其在处理页面交互和数据传递方面发挥着重要作用。在多页面应用或者嵌入式框架(如iframe)中,经常需要进行父页面与子页面之间的数据交换。下面将详细...
这通常发生在弹出窗口或者框架集等场景中,用户在子窗口进行操作后,需要将结果反馈给父窗口,以便更新父窗口的状态或展示相关信息。这个过程就称为“子窗口传值到父窗口”。在JavaScript中,我们可以利用多种方法...
- `main.html`作为主页面,可能包含用于管理`iframe`间通信的代码,例如初始化`iframe`,设置`onload`事件监听,以及处理`iframe`间的`postMessage`通信。 总结,通过以上方式,我们可以实现在多个`iframe`之间灵活...
通过对以上知识点的理解,可以知道在主页面和iframe页面之间传递值需要确保它们属于同一个域,同时,通过JavaScript的全局parent对象可以方便地在嵌入页面和主页面之间进行通信。此方法依赖于JavaScript和DOM操作,...
在本示例中,我们将探讨如何在不使用iframe框架的情况下,利用JavaScript实现父子窗口之间的简单传值。 首先,我们有一个父窗口页面`father.html`,其中包含一个按钮,当点击该按钮时,会打开一个子窗口`child....
为了满足这个需求,我们可以利用JavaScript来构建前端交互逻辑,同时利用Ajax进行异步通信,这样可以在不刷新整个页面的情况下完成搜索和数据传输。 1. **JavaScript**:在前端,JavaScript被用来处理用户的交互...
在这个示例中,可能包含两个页面:一个主页面(parent.html)和一个`iframe`内嵌的页面(child.html)。以下是它们可能的实现: - **parent.html**: ```html <iframe id="myIframe" src="child.html"></iframe> ...
在子窗口中,我们可以使用父窗口传递的参数来实现相应的逻辑操作。例如,在上面的代码中,我们使用传递的 ids 和 names 数组来生成选择框的选项。 layui 弹窗父子窗口之间传参数的方法可以通过使用 layer.open() ...