`
zengshaotao
  • 浏览: 777855 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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); 

分享到:
评论

相关推荐

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

    然而,当涉及到`iframe`与父页面之间的通信时,就需要用到一些特殊的方法来实现数据的传递和函数调用。本篇文章将深入探讨如何在`iframe`与父页面之间进行值的传递以及方法的互相调用。 首先,我们可以通过...

    模式窗口互调的小例子

    它涉及到主窗口(父窗口)与弹出窗口(子窗口)之间的通信,以便提供更好的用户体验和交互流程。在这个名为"模式窗口互调的小例子"中,我们将深入探讨这一主题。 首先,模式窗口(Modal Window)是指在用户与其进行...

    java和js互调

    Java和JavaScript互调是移动应用开发中的一个重要概念,特别是在Android平台上。Android系统广泛使用Java作为主要的编程语言,而Web内容则通常由JavaScript处理。在许多情况下,开发者需要在原生Android应用中嵌入...

    android与JS互调

    总结来说,Android与JS互调是通过WebView组件实现的,通过设置JavaScript的启用状态,我们可以方便地在两者之间传递数据和调用方法。这种交互方式为开发者提供了更大的灵活性,可以结合Android的强大力量和...

    WPF用Cefsharp和JS互调

    通过这个控件,我们可以利用C#代码控制网页的行为,同时也可以从网页的JavaScript代码中调用C#的方法,实现了C#与JS的互调。 实现C#与JS互调的核心技术是`EvaluateScriptAsync`方法,它允许我们在C#中执行...

    Android与js互调

    本篇将详细讲解Android与JavaScript互调的原理、方法及应用示例。 首先,Android与JavaScript交互的核心是WebView组件,它是一个内置的浏览器引擎,可以加载并显示HTML页面。通过WebView,我们可以将JavaScript代码...

    webview和js互调

    - `WebView注入JavaScript接口`:在Android中,我们可以使用`addJavascriptInterface()`方法将Java对象暴露给JavaScript,使得JavaScript可以通过特定的函数调用Java方法。在iOS中,使用`WKUserContentController`...

    Unity C#与JS互调.rar

    本文将详细介绍Unity中C#与JS互调的原理和实践方法。 首先,了解Unity中两种语言的互调基础。Unity引擎会将C#和UnityScript编译为中间语言(IL),这使得不同语言之间的互调成为可能。在Unity中,无论是C#脚本还是...

    flex 多级窗口互调连接oracle动态管理生成动态datagrid

    本话题将深入探讨如何利用Flex实现多级窗口互调,并连接Oracle数据库来动态管理生成的DataGrid。 首先,让我们了解Flex中的窗口组件(Window)。在Flex中,我们可以使用WindowedApplication或Window类来创建独立的...

    iOS和Js互调的简单例子

    在iOS和JavaScript交互的场景中,开发者经常需要在原生应用和Web页面之间进行方法调用,以便充分利用两者的优势。这个“iOS和Js互调的简单例子”将为我们揭示这一技术的核心原理和实现方式。 首先,我们要理解的是...

    webveiwjs与java互调

    而JavaScript与Java的互调功能,使得我们可以在网页中调用Android原生的方法,或者在Android代码中执行JavaScript代码,极大地扩展了WebView的功能。本文将详细讲解如何实现`webviewjs与java互调`,并解决相关问题。...

    Android Webview JS互调

    Android(Java)与JavaScript(HTML)交互有四种情况: 1) Android(Java)调用HTML中js代码 2) Android(Java)调用HTML中js代码(带参数) 3) HTML中js调用Android(Java)代码 4) HTML中js调用Android(Java...

    android中java和js互调

    以下将详细介绍Java和JavaScript如何在Android环境下进行互调。 ### 1. Android中的WebView组件 在Android中,我们通常使用`WebView`组件来加载和显示HTML内容。`WebView`不仅能够渲染网页,还提供了与JavaScript...

    无源互调测量及解决方案

    到目前为止,无源互调的测量项目和测量方法尚无相应的国际标准,通常都是采用 IEC 推荐的测量方法。 无源互调测量面临的新挑战: 随着通信技术的不断发展,新的系统干扰问题不断出现,给测量工作者带来了新的挑战。...

    Android与Js互调

    本篇主要介绍如何实现Android与JavaScript的互调,以及在Java和Js之间进行互相调用的方法。 首先,Android中的`WebView`组件是实现Android与JavaScript交互的基础。`WebView`是一个可以加载网页的视图,它可以解析...

    js与oc互调

    在iOS开发中,特别是在使用WebKit框架或者React Native等混合开发技术时,经常需要实现JS与OC的互调,以便充分利用JavaScript的灵活性和Objective-C的系统级功能。下面我们将深入探讨这一主题,详细介绍如何在iOS...

    JsAndroid简单互调

    总结,JsAndroid简单互调是Android开发中的重要技术,它使得Web开发者可以利用JavaScript的优势,同时利用Android的原生功能。理解并熟练掌握这一技术,能有效提升混合应用的开发效率和用户体验。在实际应用中,应...

    三阶互调原理

    #### 五、减少三阶互调的方法 为了减少三阶互调的影响,可以采取以下几种措施: 1. **选择高质量的非线性元件**:使用具有良好线性特性的元件可以降低三阶互调产物的产生。 2. **增加隔离度**:通过提高发射机和...

    用js互相调用iframe页面内的js函数

    总结来说,实现JavaScript在主页面与`iframe`页面之间的互调主要涉及以下几个步骤: 1. 获取`iframe`元素的引用。 2. 改变`iframe`的`src`属性来加载新的页面。 3. 使用`contentWindow`属性获取`iframe`页面的`...

Global site tag (gtag.js) - Google Analytics