`
lan13217
  • 浏览: 496432 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

子页面访问父页面和跨iframe访问

阅读更多
http://xqin.cn/temp/iframe_a.html
RIA知识库
flex
RIA
function copyValue(aim, original){
		aim.value=window.parent.parent.document.getElementById('customIf').contentWindow.getValue(original);
		
		/*
		document.getElementById("frame1").contentDocument
		alert(window.parent.parent.document.getElementById('customIf').contentDocument.getElementById('hjbs').value);
		alert(window.parent.parent.document.getElementById("MyHotFrame"));
		alert(window.parent.parent.document.getElementById('userTa').align);
		aim.value=document.getElementById(original).value;
		alter(window.parent.parent.document.getElementById('customIf').height);//.document.getElementById('hjbs').value);
		*/
	}



<!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>子父双向操作</title>
 <script type="text/javascript">
 //<![CDATA[
	function test(){
		var r = Math.random();
		show(r);
		show.call(who, r);
		return false;
	}
	function show(m){
		this.document.getElementById('message').innerHTML = m;
	}
	var who = null;
	window.onload = function(){
		who = document.getElementById('ifr').contentWindow;
	}
 //]]-->
 </script>
 </head>

 <body>
	<div id="message"></div>

	<input type="button" onclick="test()" value="测试" />
	<hr/>
	<iframe src="iframe_b.html" width="400" height="200" id="ifr"></iframe>
	<pre>
		<h1>简要说明</h1>

	如果被嵌入的页面不需要去对父窗口做任何事件,
	那么在iframe_b.html时面的script这一段就可以删除掉.
	反过来也是如此,既子窗口不需要父窗口做任何事件,那么iframe_a.html里面的Script代码块就可以删除掉.

	在框架内(外)做同样的事情,可以用 functoin对象的call和applay方法来实现,不同window情况下的切换.

	既,show函数在用call(who,r)之后,在函数内部的this就指向 who 所设置的对象,在这个页面它指向的是内部的iframe,所以就改变了 iframe_b.html 里面的message的内容.

	在iframe_b里面它指向parent,所以在 iframe_b里面调用的时候,就改变了父窗口的 message的内容.
	</pre>
 </body>

</html>


<!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>
	<script type="text/javascript">
	//<![CDATA[
	function test(){
		var r = Math.random();
		show(r);
		show.call(who, r);
		return false;
	}
	function show(m){
		this.document.getElementById('message').innerHTML = m;
	}
	var who = null;
	window.onload = function(){
		who = parent;
	}
	//]]-->
	</script>
 </head>

 <body>
	<div id="message"></div>
	<input type="button" onclick="test()" value="测试" />
 </body>

</html>

分享到:
评论

相关推荐

    子页面访问父页面 和 跨iframe访问

    这篇博客文章《子页面访问父页面 和 跨iframe访问》(链接已提供)深入探讨了这两个主题。 首先,让我们了解“子页面访问父页面”的概念。在浏览器环境中,当一个页面(父页面)包含了一个或多个iframe时,这些嵌入...

    子页面访问父页面和跨iframe访问(ie 和火狐)

    以下是对"子页面访问父页面和跨iframe访问(ie 和火狐)"这一主题的详细解释。 首先,我们要理解浏览器的安全模型。出于安全考虑,浏览器实施了同源策略(Same-Origin Policy),这意味着一个页面只能读取或修改与它...

    demo_DEMO_子页面刷新父页面iframe_

    标题“demo_DEMO_子页面刷新父页面iframe_”暗示我们关注的焦点是关于如何在子页面中触发父页面的刷新操作,特别是在一个IFrame上下文中。下面将详细探讨这个主题。 首先,我们需要了解IFrame(内联框架)的基本...

    iframe父页面与子页面通信及相互调用方法

    - **DOM操作**:如果父页面和子页面同源,可以使用JavaScript的`contentWindow`属性或`contentDocument`属性来访问子页面的`window`对象和`document`对象,实现通信。例如: ```javascript var iframe = document...

    在iframe中调用js父页面和子页面方法

    由于同源策略的限制,只有当父页面和子页面位于同一域名下,子页面才能直接访问父页面的`window`对象。如果不同源,需要使用`postMessage`和`message`事件来通信。 1. 同源情况下,子页面调用父页面方法: ```...

    Iframe获取父页面的变量和控件

    在网页开发中,有时我们需要在一个页面(子页面)中访问另一个页面(父页面)的数据或控制元素,这种情况下,`Iframe` 提供了一个解决方案。本文将深入探讨如何通过 `Iframe` 获取父页面的变量和控件。 首先,我们...

    frame之间以及子页面和父页面间参数传递

    在提供的示例代码中,父页面和子页面分别使用了简单的JavaScript函数实现了相互之间的元素访问。这种直接访问DOM元素的方法简单直接,适合在同源策略允许的情况下使用。 - **父页面**: ```html 获取子页面文本" ...

    父页面得到iframe的数据和iframe页面得到父页面的数据.txt

    在IT领域,网页编程尤其是JavaScript和jQuery操作DOM元素时,涉及到父页面与iframe子页面之间的数据交互是一项常见但又相对复杂的技术。本文将基于提供的文件信息,深入解析父页面如何获取iframe子页面的数据,以及...

    JS子页面掉父页面

    利用这个属性,我们可以直接访问和操作父页面的对象和方法。 二、`window.postMessage()`方法 `window.postMessage()`是现代浏览器支持的一个用于跨文档通信的API,它允许不同源的页面之间安全地传递消息。子页面...

    iframe父页面与子页面互相调用

    - **跨域问题**:如果父页面和子页面不在同一个域下,则无法进行上述的DOM操作,因为这违反了浏览器的同源策略。解决方法是通过JSONP、CORS等方式实现跨域数据交换。 - **命名规范**:在使用`window.frames`时,需要...

    easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值

    在EasyUI中,我们可能会遇到需要在弹出窗口(子页面)与父页面之间进行数据传递或调用父页面方法的需求。下面将详细讲解这个过程。 首先,让我们理解标题中的“弹出window窗口传值”。在EasyUI中,创建一个弹出窗口...

    iframe弹出框遮罩父类页面

    4. **事件处理**:确保在父页面中,如果有需要与子页面进行交互的事件,例如关闭弹出框,可以使用JavaScript的`parent`对象来访问父页面的元素或函数,从而实现通信。 5. **布局与样式**:对于`layout.html`,可能...

    子页面和父页面的相互调用

    父页面可以访问IFrame内的`window.contentWindow`对象,子页面也可以通过`window.parent`调用父页面的方法。 例如,`parent.html`中: ```html &lt;iframe id="myFrame" src="childPage.html"&gt;&lt;/iframe&gt; var ...

    iframe子页面获取父页面元素的方法

    这通常涉及到跨文档通信,因为`iframe`子页面被视为一个独立的文档,它有自己的窗口对象和文档对象模型(DOM)。本文将详细讲解如何在`iframe`子页面中获取父页面元素,以及在父页面中获取`iframe`子页面的元素。 ...

    iframe与父页面传值(方法互调)

    在`iframe`内的页面,我们可以使用`parent`对象来访问父页面的全局变量和函数。例如,如果在`iframe`内想要调用父页面的一个名为`parentFunction`的函数,可以这样写: ```javascript parent.parentFunction(); ```...

    iframe与父页面传值

    由于`iframe`内的页面与父页面实际上处于不同的上下文,因此直接访问对方的变量或方法是不允许的,除非它们同源(协议、域名和端口相同)。然而,通过JavaScript和DOM操作,可以实现跨域的通信。 1. 使用`window....

    Jquery调用iframe父页面中的元素及方法

    不过,当iframe和父页面属于同一域时,可以通过JavaScript或jQuery来操作父页面中的元素和方法。本文将详细介绍如何使用jQuery来查找和操作iframe父页面中的元素和方法。 首先,需要明确iframe元素可以被视为一个...

    js中子页面获取父页面ID

    如果父页面和子页面处于不同的域,则由于浏览器的安全策略(同源策略),这些操作将无法执行。此时,需要使用更复杂的技术如`postMessage`API来进行跨域通信。 ### 总结 本文详细介绍了如何在JavaScript中实现子...

    iframe子页面与父页面在同域或不同域下的js通信

    父页面可以直接访问iframe中的window对象来调用其中的方法和属性,同样iframe也可以通过访问parent对象来调用父页面的方法和属性。例如,父页面可以使用“myFrame.window.childMethod();”来调用iframe中的方法,而...

Global site tag (gtag.js) - Google Analytics