父窗口 和 iframe 互相访问

在父窗口中获取iframe中的元素

1、

格式:window.frames["iframe的name值"].document.getElementByIdx_x("iframe中控件的ID").click();

实例:window.frames["ifm"].document.getElementByIdx_x("btnOk").click();

2、

格式:

var obj=document.getElementByIdx_x("iframe的name").contentWindow;

var ifmObj=obj.document.getElementByIdx_x("iframe中控件的ID");

ifmObj.click();

实例:

var obj=document.getElementByIdx_x("ifm").contentWindow;

var ifmObj=obj.document.getElementByIdx_x("btnOk");

ifmObj.click();

在iframe中获取父窗口的元素

格式:window.parent.document.getElementByIdx_x("父窗口的元素ID").click();

实例:window.parent.document.getElementByIdx_x("btnOk").click();

jquery

在父窗口中获取iframe中的元素

1、

格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();//jquery 方法1

实例:$("#ifm").contents().find("#btnOk").click();//jquery 方法1

2、

格式:$("#iframe中的控件ID",document.frames("frame的name").document).click();//jquery 方法2

实例:$("#btnOk",document.frames("ifm").document).click();//jquery 方法2

在iframe中获取父窗口的元素

格式:$(‘#父窗口中的元素ID‘, parent.document).click();

实例:$(‘#btnOk‘, parent.document).click();

父窗获取子窗口的IFrame中的JS方法
一、父窗口调用iframe子窗口方法 
1、HTML语法:<iframe name="myFrame" src="child.html"></iframe> 
2、父窗口调用子窗口:myFrame.window.functionName(); 
3、子窗品调用父窗口:parent.functionName(); 
简单地说,也就是在子窗口中调用的变量或函数前加个parent.就行 
4、父窗口页面源码: 
复制代码代码如下:

<html> 
<head> 
<script type="text/javascript"> 
function say() { 
alert("parent.html------>I‘m at parent.html"); 

function callChild() 

//document.frames("myFrame").f1(); 
myFrame.window.say(); 

</script> 
</head> 
<body> 
<input type=button value="调用child.html中的函数say()" onclick="callChild()"> 
<iframe name="myFrame" src="child.html"></iframe> 
</body> 
</html>

5、子窗口页面: 
复制代码代码如下:

<html> 
<head> 
<script type="text/javascript"> 
function say() 

alert("child.html--->I‘m at child.html"); 

function callParent() { 
parent.say(); 

</script> 
</head> 
<body> 
<input type=button value="调用parent.html中的say()函数" onclick="callParent()"> 
</body> 
</html>

二、iframe 父窗口和子窗口相互的调用方法 
1、IE中使用方法: 
父窗口调用子窗口:iframe_ID.iframe_document_object.object_attribute = attribute_value 
例子:onClick="iframe_text.myH1.innerText=‘http://www.pint.com‘;" 
子窗口调用父窗口:parent.parent_document_object.object_attribute = attribute_value 
例子:onclick="parent.myH1.innerText=‘http://www.pint.com‘;" 
2、Firefox中使用方法: 
上面在IE下没有问题,但在firefox下不正常。在firefox下,应该是如下调用方法: 
父窗口调用子窗口:window.frames["iframe_ID"].document.getElementById("iframe_document_object"­).object_attribute = attribute_value 
例: window.frames["iframe_text"].document.getElementById("myH1").innerHTML= "http://hi.jb51.net"; 
子窗口调用父窗口:parent.document.getElementById("parent_document_object").object_attribute = attribute_value 
例: parent.document.getElementById("myH1").innerHTML = "http://jb51.net"; 
3、完整的例子 
test.htm 
复制代码代码如下:

<HTML> 
<HEAD> 
<TITLE> Test Page </TITLE> 
<script src="prototype-1.4.0.js"></script> 
<script language="javascript"> 
function show() 

window.frames["iframe_text"].document.getElementById("myH1").innerHTML = "http://hi.jb51.net"; 

</script> 
</HEAD> 
<BODY> 
<iframe height="350" width="600" src="iframe_test.htm" name="iframe_text"></iframe> 
<form action="" method="post"> 
<input name="haha" id="haha" type="text" maxlength="30" value="haha" /> 
<br /> 
<textarea cols="50" rows="5" id="getAttributeMethod"></textarea> 
<input type="button" onClick="show();" value="提交"/> 
</form> 
<h1 id="myH1">d</h1> 
</BODY> 
</HTML>

frame_test.htm 
复制代码代码如下:

<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档</title> 
</head> 
<script language="javascript"> 
function show() 

parent.document.getElementById("myH1").innerHTML = http://jb51.net

</script> 
<body> 
<h1 id="myH1">ha</h1> 
<form action="" method="post"> 
<input name="abc" id="abc" type="text" maxlength="30" value="abc" /> 
<br /> 
<textarea cols="50" rows="10" id="text"></textarea> 
<br /> 
<input type="button" value="提交" onclick="show();"/> 
</form> 
</body> 
</html>

test.htm里面firefox下访问iframe 必须用name,不能用id,所以要改为name="iframe_test" 。
三、在c#中如何动态改变iframe的src值,动态指向一个网页 
1)如果是javascript脚本 
给iframe加一个ID如<iframe id=frmList…… 
在脚本写 
frmList.document.location=strNewUrl 
2)如果是后台程序 
给iframe加一个ID,再加上runat=server 如<iframe id=frmList runat=server …… 
在程序里写 
frmList.Attributes.Add("src",strNewUrl);

时间: 2024-08-08 11:58:38

父窗口 和 iframe 互相访问的相关文章

父窗口调用iframe子窗口方法

一.父窗口调用iframe子窗口方法 1.HTML语法:<iframe name="myFrame" src="child.html"></iframe> 2.父窗口调用子窗口:myFrame.window.functionName(); 3.子窗品调用父窗口:parent.functionName(); 简单地说,也就是在子窗口中调用的变量或函数前加个parent.就行 4.父窗口页面源码: 复制代码 代码如下:<html> &

父窗口与iFrame之间调用方法和元素

父窗口与iFrame之间调用方法和元素 父窗口调用子窗口: 调用元素 js格式: var obj=document.getElementById("iframe的name").contentWindow; var ifmObj=obj.document.getElementById("iframe中控件的ID"); ifmObj.click(); 实例: var obj=document.getElementById("ifm").content

HTML父窗口与IFRAME中变量互访

1.HTML父窗口访问IFRAME中变量或函数 在父窗口脚本中写: //调用变量赋值 IframeObj.contentWindow.someVar = "test is ok"; //调用函数 IframeObj.contentWindow.someFunction(); 2.HTML中IFRAME访问父窗口中变量或函数 假设在父窗口脚本中具有方法: function showMsg(str){ alert('Read from iframe:'+ str); } 则在IFRAME可

iframe中子父窗口互调的js方法

转载自:http://www.cnblogs.com/chinafine/archive/2011/09/15/2177746.html 一.父窗口调用iframe子窗口方法 1.HTML语法:<iframe name="myFrame" src="child.html"></iframe> 2.父窗口调用子窗口:myFrame.window.functionName(); 3.子窗品调用父窗口:parent.functionName();

Qt 代码: 子窗口调用父窗口(其实就是用指针直接访问)

之前的 Qt 编程大多只涉及简单的多窗口,并未染指窗口间的传值交互,想来还是“涉世未深”,对 Qt 的理解.应用还需殷勤努力. 这次的问题是这样的,我想要实现一个类似QQ.阿里旺旺的聊天客户端,在弹出表情对话框后,能够选择表情并返回给聊天窗口的消息输入框,这就需要两个窗口之间的传值交互. 首先想到的解决方法自然是使用Qt自带的signal/slot机制.即首先发信号给父窗口,父窗口接到信号执行槽函数发送一个携带所需数据的信号给子窗口.但是疑问来了:要在子窗口中接收到父窗口的信号必须进行signa

iframe子窗口父窗口方法调用和元素获取

1.父窗口调用iframe里面的方法 iframename.window.method(); 2.子窗口调用父窗口方法 parent.window.method(); 3.父窗口获取iframe里面元素 $("#id",document.frames["iframename"].document); 4.子窗口获取父窗口元素 $("#id",parent.document);

用jQuery在IFRAME里取得父窗口的某个元素的值

收集网上的一些示例: 用jQuery在IFRAME里取得父窗口的某个元素的值 只好用DOM方法与jquery方法结合的方式实现了 1.在父窗口中操作 选中IFRAME中的所有单选钮 $(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true"); 2.在IFRAME中操作 选中父窗口中的所有单选钮 $(window

iframe中的模态框遮罩父窗口原理

关键点: css的position定位为fixed或absolute css的z-index, 最顶层的值最大如遮罩层为0那么弹出框最好是大于等于1的整数,总之记住弹出层要比遮罩的z-index值大就行 如果弹出模态框的使用场景没有嵌套在iframe或frame中掌握以上两点加上点css功底就可以写出漂亮的模态框了 特殊场景会涉及到跨域问题,可以在父页面和子页面分别设置<script type="text/javascript">document.domain="

(转)C#在父窗口中调用子窗口的过程(无法访问已释放的对象)

C#在父窗口中调用子窗口的过程: 1. 创建子窗口对象 2. 显示子窗口对象 笔者的程序中,主窗体MainFrm通过菜单调用子窗口ChildFrm.在窗体中定义了子窗口对象,然后在菜单项点击事件中,加入了如下代码来创建和显示子窗口: Private childFrm myChildFrm = null; //定义子窗口对象 private void OpenChildFrmToolStripMenuItem_Click(object sender, EventArgs e) { myChildF