一、父窗口调用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);

父窗口调用iframe子窗口方法的更多相关文章

  1. 父窗口和iframe子窗口之间相互传递参数和调用函数或方法

    1.父窗口向子窗口传递参数: 可以在url中添加参数:2.html?a=1&b=2&c=3 然后在子页面上可用js解析,提供一个函数: function getQueryStr(sAr ...

  2. 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

    window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)( ...

  3. C#中关闭子窗口而不释放子窗口对象的方法

    1 在主窗口中实例化子窗口 在主窗口中实例化子窗口,而不是在按钮中实例化子窗口对象. Form2 f2 = new Form2(); 2 通过按钮来显示主窗口 在按钮中需要实现的是窗口的显示 priv ...

  4. Qt入门(14)——父窗口部件和子窗口部件

    这个例子演示了如何创建一个父窗口部件和子窗口部件.我们下面使用一个单一的父窗口部件和一个独立的子窗口部件编写界面.    #include <qvbox.h>我们添加了一个头文件qvbox ...

  5. 父页面 调用iframe方法

      父页面调用Iframe的方法 document.getElementById("tabIf0").contentWindow.Search();     Jquery 方式: ...

  6. js 在iframe子页面获取父页面元素,或在父页面 获取iframe子页面的元素的几种方式

    用JS或jquery访问页面内的iframe,兼容IE/FF 注意:框架内的页面是不能跨域的! 假设有两个页面,在相同域下. index.html 文件内含有一个iframe: XML/HTML代码 ...

  7. C#关闭子窗口而不释放子窗口对象的问题解决

    在网上找来一些方式,感觉还都不错,下面给出方式: 在线扫描相机的调试过程中,需要开辟调试界面来进行位置的配置.调试结束后,一种常用的方式是将调试参数保存并在下次启动时加载.另一种简单方式是直接使用该参 ...

  8. 【学习】调用iframe中的方法

    当页面中有iframe时,想在主页面调用iframe中的方法,可以用contentWindow属性.但具体用时还有一点要注意,就是必须等页面加载完成才可以,否则会报错找不到函数. 例: 父页面: &l ...

  9. iframe父页面获取iframe子页面的元素 与 iframe子页面获取父页面元素

    一.在iframe子页面获取父页面元素代码如下:$('#objld', parent.document); 二.在父页面获取iframe子页面的元素代码如下:$("#objid", ...

随机推荐

  1. 单点登录filter根据redis中的key判断是否退出

    package com.ailk.biapp.ci.localization.cntv.filter; import java.io.IOException; import java.util.Has ...

  2. 分页写入文件,第二次分页前一定要关闭IO流啊。。否则文件写不全。。- -粗心

  3. 小白也能用Git管理团队项目了:百度云同步+Git Extensions+Git Source Control Provider

    百度云同步 百度云同步,会将本地的某个文件目录和云端进行同步.如果在本地将这个同步的目录设置为Git的中心服务器,那么本地push到中心服务器的内容也会被同步到云端.其他开发者只要也进行相同的设置,就 ...

  4. Mac下更改python版本为3.5

    mac下默认安装了2.x版本的python , 安装python3.5.1后 , 需要切换一下 在~/.bash_profile中添加如下alias(如果你用的是iterm,那就修改.zshrc) a ...

  5. 关于微信网页调用js-sdk相关接口注意事项目(一级域名与二级域名互相干扰!!!)

    不知道有没有网友遇到过同一个web应用用不同的域名(一级或二级域名)在两个公众号中调用JSSDK相关接口实现功能, 这种做法本来没有问题,问题在于用二级域名(同属一级域名下的二级域名)绑定另一个web ...

  6. log4j+logback+slf4j+commons-logging的关系与调试

    背景     由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同.存在着在一个项目中,不同的版本,不同的框架共存.导致日志输出异常混乱.虽然也不至于对系统造成致命伤害,但是明显可以看出,架构 ...

  7. [Flex] ButtonBar系列——控制ButtonBar菜单是否可用

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  8. role在标签中的作用是什么?

    html 里面的 role 本质上是增强语义性,当现有的HTML标签不能充分表达语义性的时候,就可以借助role来说明.通常这种情况出现在一些自定义的组件上,这样可增强组件的可访问性.可用性和可交互性 ...

  9. 配置IISExpress允许外部访问

    1.找到IISExpress的配置文件,位于 <文档>/IISExpress/config文件夹下,打开applicationhost.config,找到如下代码: <site na ...

  10. [JS]以下是JS省市联动菜单代码

    以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...