iframe js父页面操作的父子页面传值
iframe 标签传参数
iframe 标签传参数使用iframe标签传参数在网页开发中,iframe标签常用于嵌入其他网页或文档,实现页面的嵌套和交互。
通过使用iframe标签传递参数,可以实现不同页面之间的数据传递和共享。
下面我将通过一个简单的示例来说明如何使用iframe标签传递参数。
我们在父页面上创建一个iframe标签,并设置好宽度和高度:```<iframe id="myIframe" width="500" height="300"></iframe>```接下来,我们在父页面的JavaScript代码中动态设置iframe的src属性,并传递参数:```var iframe = document.getElementById("myIframe");iframe.src = "child.html?param1=value1¶m2=value2";```在子页面child.html中,我们可以通过JavaScript获取父页面传递的参数,并进行相应的处理:```var params = window.location.search.substring(1).split("&");var paramObj = {};for (var i = 0; i < params.length; i++) {var pair = params[i].split("=");paramObj[pair[0]] = pair[1];}// 使用传递的参数进行相应的操作console.log(paramObj.param1);console.log(paramObj.param2);```通过以上代码,我们可以在子页面中获取到父页面传递的参数,并进行相应的操作。
HTML中IFrame父窗口与子窗口相互操作
一、Iframe 篇ContentID).innerHTML);}else{ContentID).innerHTML);nnerText);extContent);ContentID).innerHTML="我是IE下通过父窗口赋值过来的";}else{ContentID).innerHTML="我是FF下通过父窗口赋值过来的";}}窗口对子窗口操作刷新:("IframeID").src=("IframeID").src+"?_="+();上面这种方法有时需要对“src”属性处理一下。
取值:窗口操作父窗口刷新:(1)、(2)、(3)、大家可以补充取值:alert"IframeDiv").innerHTML);赋值:"IframeDiv").innerHTML="我是从子窗口IFRAME传过来的值";关闭:如果不加这句,会提示关闭询问窗口;二、篇1.父窗口对子窗口操作打开:var win=null;win=("","win","width=200,height=200");最大化:nnerHTML);赋值:"OpenDiv").innerHTML="我是从父窗口中传过来的值";2.子窗口操作窗口刷新:firefox,在地址栏输入about:config;2.找到这项并改为true");}}取值:alert"OpenDiv").innerHTML);赋值:"OpenDiv").innerHTML="我是从子窗口Open传过来的值";三、模态窗口篇1.父窗口操作子窗口父窗口JS代码:var parValue="现在显示了父窗口中的变量值";var hao="郝建卫";function ShowDailog(PageHref,Title,Height,Width){态窗口操作父窗口var parentWin=;刷新:取值:alert"ShowModalDialogDiv").innerHTML) nnerHTML="我是从子窗口ShowModalDialog传过来的值";关闭本窗口:firefox,在地址栏输入about:config;2.找到这项并改为true");}}。
同级iframe之间的相互传值
同级iframe之间的相互传值同级的iframe之间可以通过父窗口(parent)对象进行相互传值的操作。
以下是一个简单的示例代码:在父窗口中,使用iframe的id属性来获取对应的iframe元素,然后可以通过contentWindow属性获取到iframe 的window对象,从而进行值的传递:```javascript// 在父窗口中获取iframe的值var iframe = document.getElementById('myIframe');var iframeWindow = iframe.contentWindow;var value = iframeWindow.document.getElementById('inputField').value;// 在父窗口中设置iframe的值var newValue = "New Value";iframeWindow.document.getElementById('inputField').value = newValue;```在iframe窗口中,可以通过parent属性来获取到父窗口的window对象,然后进行相应的值传递:```javascript// 在iframe窗口中获取父窗口的值var parentWindow = parent.window;var parentValue = parentWindow.document.getElementById('inputField').value;// 在iframe窗口中设置父窗口的值var newParentValue = "New Parent Value";parentWindow.document.getElementById('inputField').value = newParentValue;```通过这样的方式,父窗口和同级的iframe窗口可以进行相互间的值传递。
外层给iframel里面传值的方法
外层给iframel里面传值的方法外层给iframe传值的方法有以下几种:1. 使用URL参数传值:可以在iframe的URL中添加参数来传递值,例如`<iframesrc="iframe.html?param1=value1¶m2=value2"></iframe>`,然后在iframe中通过`window.location.search`来获取URL参数。
2. 使用父窗口和子窗口之间的通信方法:a. 使用postMessage方法:在父窗口中使用`iframe.contentWindow.postMessage(data, targetOrigin)`方法向iframe发送数据,然后在iframe中监听message事件来接收数据。
b. 使用window对象的属性和方法:在父窗口中使用`iframe.contentWindow.propertyName = value`方法或`iframe.contentWindow.methodName(data)`方法来向iframe传递值,然后在iframe中通过`window.propertyName`或`window.methodName(data)`来获取值。
3. 使用Cookie:在父窗口中通过document.cookie来设置cookie值,然后在iframe中通过document.cookie来获取cookie值。
4. 使用LocalStorage或SessionStorage:在父窗口中使用`localStorage.setItem(key, value)`或`sessionStorage.setItem(key, value)`方法来设置值,然后在iframe中使用`localStorage.getItem(key)`或`sessionStorage.getItem(key)`方法来获取值。
iframe父子传值例子
iframe父子传值例子一、背景介绍随着We b技术的发展,嵌入式页面成为了W eb页面开发中常见的一种需求。
在嵌入页面的过程中,有时候需要在父子页面之间传递数据。
本文将介绍如何通过使用i fr am e标签在父子页面之间进行数据传值的例子。
二、使用i frame传值的前提条件在进行父子页面之间的数据传递时,首先需要满足以下条件:1.父页面与子页面需处于同一域名下,否则将存在跨域问题。
2.子页面需要通过使用if ra me标签嵌入到父页面中。
三、在父页面传值给子页面下面是一个简单的在父页面中传值给子页面的例子:<!DO CT YP Eh tm l><h tm l><h ea d><t it le>父页面</ti t le></he ad><b od y><h1>父页面</h1><i fr am ei d="m yF ram e"s rc="ch il d.htm l"></if ra me><s cr ip t>v a ri fr am e=do cu men t.g et El em en tB yId('m yF ra me');i f ra me.o nl oa d=fun c ti on(){i f ra me.c on te nt Win d ow.p os tM es s a ge('He ll of ro mp ar ent','子页面地址');};</sc ri pt></bo dy></ht ml>父页面通过i fr am e标签嵌入了子页面,并通过`po st Me ss ag e`方法向子页面发送了一个消息。
四、在子页面接收父页面传值下面是一个简单的在子页面中接收父页面传值的例子:<!DO CT YP Eh tm l><h tm l><h ea d><t it le>子页面</ti t le></he ad><b od y><h1>子页面</h1><s cr ip t>w i nd ow.a dd Ev en tLi s te ne r('m es sa ge',fu nc ti on(e ve nt){i f(e ve nt.o ri gi n==='父页面地址'){c o ns ol e.lo g(ev ent.da ta);//在这里处理父页面传递过来的数据}});</sc ri pt></bo dy></ht ml>子页面通过`wi nd ow.a dd Ev en tL is te ner`方法添加了一个消息事件监听器,当父页面通过`po st Me ss ag e`方法发送消息过来时,子页面可以通过监听器接收到消息,并进行进一步的处理。
iframe 父级向子传值跨域
文章标题:iframe父级向子传值跨域的实现方法与注意事项在当今互联网发展日新月异的背景下,iframe作为一种在网页中嵌入其他网页的常用技术,被广泛应用于网页开发中。
然而,由于跨域安全政策的限制,父级页面和子级页面之间的通信变得更加困难。
本文将就iframe父级向子传值跨域的实现方法与注意事项进行全面评估,以帮助读者更深入地理解这一技术。
1. 理解iframe跨域通信的难点在传统的同源情况下,父级页面通过window.frames或document.getElementById()等方式轻松获取子级页面的DOM元素,并进行操作。
然而,一旦涉及到跨域通信,由于浏览器的安全机制,父子页面之间的通信将受到同源策略的限制,导致无法直接进行数据交互。
2. 实现方法一:使用postMessage() API为了解决父级页面向子级页面传值的跨域问题,可以使用postMessage() API。
该API允许在不同窗口或iframe之间安全地发送数据,实现了窗口间消息传递的机制。
在父级页面中,可以通过postMessage()方法向指定的子级页面发送数据,而子级页面则通过监听message事件接收来自父级页面的数据,从而实现跨域通信。
3. 实现方法二:使用属性除了postMessage() API,还可以借助属性来实现父级向子级的跨域传值。
由于属性的特性,它在不同窗口或iframe之间始终保持一致,因此可以利用这一特性进行数据传递。
父级页面可以在iframe中设置属性的值,而子级页面则可以通过获取父级页面中iframe的属性来进行数据获取,从而实现跨域传值。
4. 注意事项与个人观点在实现父级向子级传值的跨域通信过程中,需要注意以下几点:4.1. 安全性问题:跨域通信可能会带来安全风险,因此在传递敏感数据时需要谨慎处理,以防止信息泄露或被恶意利用。
4.2. 浏览器支持:不同的浏览器对于postMessage() API的支持情况可能不同,因此在实际应用中需要考虑浏览器兼容性。
父页面调用iframe的方法
父页面调用iframe的方法父页面调用iframe的方法是通过JavaScript来实现的。
在父页面中,可以通过以下步骤调用iframe中的方法:1. 获取iframe元素:首先需要获取到iframe元素,可以通过getElementById()等方法获取到iframe元素的引用。
javascriptvar iframe = document.getElementById('myIframe');2. 访问iframe中的方法:获取到iframe元素后,可以使用contentWindow 属性来获取到iframe的window对象,从而可以访问iframe中的方法。
javascriptvar iframeWindow = iframe.contentWindow;3. 调用iframe中的方法:通过获取到的iframe window对象,可以直接访问和调用iframe中定义的方法。
javascriptiframeWindow.someMethod(); 调用iframe中的某个方法4. 传递参数:如果需要向iframe方法传递参数,可以在调用方法的时候传入参数。
javascriptiframeWindow.someMethod(param1, param2); 传递参数给iframe方法需要注意的是,以上的方法调用前提是父页面和iframe页面在同一个域名下,否则由于浏览器的同源策略限制,无法直接访问和调用iframe中的方法。
另外,为了确保iframe中的方法已经加载完毕,可以在父页面中使用onload 事件来监听iframe加载完成后再进行方法调用。
javascriptiframe.onload = function() {var iframeWindow = iframe.contentWindow;iframeWindow.someMethod();};总结起来,父页面调用iframe的方法的基本步骤是获取iframe元素,获取iframe window对象,然后通过window对象访问和调用iframe中的方法。
html页面iframe获取父系URL并传值
h tml页面iframe获取父系URL并传值参数前段时间买了一个订单系统,功能很全,是直接发送到邮箱的,但是使用了几天后出现个问题,当订单页面和网站源码不再一个空间时会出现获取不到来路URL参数。
于是我看了订单系统原来的代码,是通过JS获取,放入cookies中传递参数实现的,一但不再一个空间内cookies就失效了,所以就不能获取到来路URL了,我和开发者沟通了一下,他说很多方法都测试过了,都没能找到很好的方式传递参数。
于是我就想通过input隐藏方式来传递参数,但是html页面如何才能让input获取参数值呢,下面看下代码。
主页面index.html其他代码省略<div id="ding"><div id="x">收货人详细信息(带*为必填)</div><iframe src="/template/dan01.html" width="600" height="500" marginheight="0" marginwidth="0" frameborder="0" scrolling="no"></iframe></div><!--ding-->这是主页调用的代码。
通过iframe调用,我在百度上搜索了很多方法,都没有详细介绍方法。
只是告诉用什么代码获取父系URL值。
被调用页面代码如下:(只留重要位置代码)<body onLoad="WebStoreLicense ()"><div class="wforderl"><form id="wfform" name="wfform" action="../public/wfgo.php" onsubmit="return postcheck()" target="_blank"><input type="hidden" name="lailu" id="lailu" value="" /><li class="next"><input type="submit" name="wfsubmit" value="提交订单" class="send suba" /><input type="reset" name="wfreset" value="重新填写" class="send subb" /></li></ul></div></form></div></body>父系URL通过document.referrer函数获取,网上都介绍过用这个函数,但是没有介绍如何传递参数。
iframe父向子传参数
iframe父向子传参数在HTML中,如果你想从一个`iframe`的父窗口向`iframe`内部传递参数,通常可以通过以下几种方式实现:1. 使用`postMessage` API:这是最推荐的方式,因为它提供了跨域通信的能力,并确保了数据的安全性。
父窗口可以使用``方法向`iframe`发送消息,而`iframe`内的脚本可以使用``来监听这些消息。
父窗口:```javascriptconst iframe = ('myIframe');({param1: 'value1'}, '');```iframe内部:```javascript('message', function(event) {if ( !== " return; // 确保安全性(); // 输出 {param1: 'value1'}}, false);```2. 使用URL参数:如果参数是简单的,并且你不关心跨域问题,你可以直接在`iframe`的URL 后面附加参数。
例如:```html<iframe src="?param1=value1"></iframe>```然后在`iframe`内的页面中通过``来获取这些参数。
3. 使用隐藏的表单:你可以在父窗口中创建一个隐藏的表单,设置其目标为`iframe`,然后提交表单。
这主要用于向`iframe`传递POST数据。
4. 使用Cookies:虽然这种方法不是直接从父窗口到`iframe`,但你可以在父窗口设置cookie,然后在`iframe`内部读取它。
这主要用于跨域通信和持久化存储数据。
选择哪种方法取决于你的具体需求和限制。
如果你只是需要简单、非跨域的通信,第二种方法可能更简单。
但如果你需要更复杂的通信或跨域通信,则推荐使用`postMessage`方法。
js里父页面与子页面的相互调用
js里父页面与子页面的相互调用一、在页面里用 open 打开的子页面:1、子页面调用父页面的方法,包括子页面给父页面传值:window.opener.methodName();window.opener.methodName(param1,param2);2、父页面关闭子页面:在父页面openWin=window.open("");function bClick(){openWin.close();}二、在Iframe 的子页面里子页面给父页面的Div赋值parent.window.document.getElementByIdx_x('id').innerHTM L='';调用父页面的方法window.parent.window.methodName();刷新父页面window.parent.location.reload();open 打开的属性window.open(pageURL,name,parameters)其中:pageURL 为子窗口路径name 为子窗口句柄parameters 为窗口参数(各参数用逗号分隔)参数 | 取值范围 | 说明alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上depended | yes/no | 是否和父窗口同时关闭directories | yes/no | Nav2和3的目录栏是否可见height | pixel value | 窗口高度hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键innerHeight | pixel value | 窗口中文档的像素高度innerWidth | pixel value | 窗口中文档的像素宽度location | yes/no | 位置栏是否可见menubar | yes/no | 菜单栏是否可见outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度resizable | yes/no | 窗口大小是否可调整screenX | pixel value | 窗口距屏幕左边界的像素长度screenY | pixel value | 窗口距屏幕上边界的像素长度scrollbars | yes/no | 窗口是否可有滚动栏titlebar | yes/no | 窗口题目栏是否可见toolbar | yes/no | 窗口工具栏是否可见Width | pixel value | 窗口的像素宽度z-look | yes/no | 窗口被激活后是否浮在其它窗口之上。
iframe父子界面调用方法
iframe父子界面调用方法在web开发中,我们常常会遇到需要在不同的页面之间进行通信的需求。
在这种情况下,使用iframe可以很方便地实现。
所谓iframe,是指一个内嵌在另一个网页内部的独立页面。
通过将iframe嵌入到当前页面中,我们可以实现对其内容的控制,并通过与其它iframe间的通讯来获取所需的信息。
下面我们将介绍如何在iframe父子页面之间进行方法调用。
1. 创建iframe首先,我们需要在父页面中创建一个iframe。
这可以通过在HTML文件中添加如下代码来实现:```javascript<iframe id="child-page" src="child.html"></iframe>```这样,我们就成功创建了一个id为“child-page”的iframe,并将其指向一个名为“child.html”的子页面。
2. 子页面调用父页面方法在子页面中,我们可以通过以下代码,使用window.parent来调用父页面中的方法:```javascriptwindow.parent.funcName();```其中,“funcName”是我们需要调用的父页面中的方法名。
3. 父页面调用子页面方法同样地,在父页面中,我们可以通过以下代码,使用iframe对象来调用子页面的方法:```javascriptdocument.getElementById("child-page").contentWindow.funcName();```其中,“funcName”是我们需要调用的子页面中的方法名。
需要注意的是,在进行跨页面调用方法时,一定要确保两端页面中存在同名的方法。
同时也要避免因安全性问题而导致的跨域访问失败。
除此之外,我们还可以使用postMessage事件来实现iframe页面之间的通讯。
这个事件可以让一个页面向另一个页面发送消息,并使接收方能够在接收到消息时做出响应。
iframe中子页和父页面如何传值
iframe中子页和父页面如何传值
来源:中国网页设计浏览:624次
内容提要:本文介绍了,父页面father.html和子页面son.html 之间如何传值,子页面如何调用父页面中的函数等操作
本文介绍了,父页面father.html和子页面son.html之间如何传值。
一、父页面给iframe中的子页面传值,把值写入子页面的文本框里
father.html
son.html
二、子页面如何调用父页面中的函数
father.html
son.html
三、iframe中的子页给父页面传值father.html
son.html
<script type="text/javascript">
function fuzhi()
{
$(window.parent.$("#messagediv").html("子页面赋过来的值"));
}
</script>
<form name="form2"><input name="btn1" type="button" onclick="fuzhi()" value="给父页中id为messagediv的元素赋值" /></form>。
Iframe之间及iframe与父窗体之间值的传递
Iframe之间及iframe与父窗体之间值的传递2009-05-12 10:32方法一:ScriptManager.RegisterClientScriptBlock(this,typeof(Page), "NoInformation", "window.parent.frames['Add'].location.reload();", true); 此:会弹出页面刷新错误方法二: ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "NoInformation","window.parent.frames['Add'].location.href='DepartAdd.aspx';", true); 最好的方法可解决跳转刷新后窗体样式的改变。
参考:(一)父窗体调用iframe子窗体的例子:1、//将子iframe中text的值赋给父窗体中一个textdocument.getElementById('applyDate').value=window.frames["capitalList"].document.all('applytime').value;2、//父窗体中的一个按钮onclick触发子iframe中form的button1服务器端事件window.frames(“capitallist”).document.forms.item(0).button1.click();或写作:window.frames(“capitallist”).document.form1.button1.click();(二)iframe子窗体调用父窗体的例子:1、//子iframe中的form的button的onclick事件给父窗体的一个text赋值window.parent.document.all('applyDate').value=document.getElementById('applytime').value;2、//子页面调用父窗体的某个按钮的按钮事件window.parent.form1.button1.click()(三)iframe子窗体之间相互调用//右边iframe中页面的按钮调用左边的iframe中的页面,让左边页面得以刷新p arent.frame(“menu”).window.location.reload();请看下面简单例子,不多解释.父窗体:test.htm<HTML><HEAD><TITLE> Test Page </TITLE><script src="prototype-1.4.0.js"></script><script language="javascript">function show(){//改变iframe中的元素id为myH1的内容window.frames["iframe_text"].document.getElementById("myH1").innerHTML = "";}</script></HEAD><BODY><iframe height="350" width="600" src="iframe_text.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><h2 id="myH2">d</h2></BODY></HTML>iframe的页面内容:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title></head><script language="javascript">function show(){//改变父窗体中的元素id为myH2的内容parent.document.getElementById("myH2").innerHTML ="";}</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>。
JS中Iframe之间传值及子页面与父页面应用
JS中 Iframe之间传值及子页面与父页面应用
在js中,我们时常用到用iframe做系统框架,在子页面也,父页面之间的值传递是一个问ቤተ መጻሕፍቲ ባይዱ,下面是js获取父窗体和子窗体的 对象js:
: a>window.parent.document这个是获取父页面document中的对象; b>如果要获取父页面js中的方法:window.parent.xxxx();xxxx()为方法;
: a>
复制代码 代码如下:
var child = document.getElementByIdx_x("mainFrame").contentWindow;//mainFrame这个id是父页面iframe的id child.document;//获取子页面中的document对象;
利用JS对iframe父子(内外)页面进行操作的方法教程
利⽤JS对iframe⽗⼦(内外)页⾯进⾏操作的⽅法教程本⽂主要给⼤家介绍了关于利⽤JS对iframe⽗⼦(内外)页⾯进⾏操作的⽅法,分享出来供⼤家参考学习,下⾯来⼀起看看详细的介绍:⼀、获取iframe⾥的内容在开始之前,⾸先我们来看看如何获取iframe⾥的内容,获取iframe中内容主要的两个API就是contentWindow,和contentDocument iframe.contentWindow, 获取iframe的window对象iframe.contentDocument, 获取iframe的document对象这两个API只是DOM节点提供的⽅式(即getELement系列对象)var iframe = document.getElementById("iframe1");var iwindow = iframe.contentWindow;var idoc = iwindow.document;console.log("window",iwindow);//获取iframe的window对象console.log("document",idoc); //获取iframe的documentconsole.log("html",idoc.documentElement);//获取iframe的htmlconsole.log("head",idoc.head); //获取headconsole.log("body",idoc.body); //获取body实际情况如:另外更简单的⽅式是,结合Name属性,通过window提供的frames获取.<iframe src ="/index.html" id="ifr1" name="ifr1" scrolling="yes"><p>Your browser does not support iframes.</p></iframe><script type="text/javascript">console.log(window.frames['ifr1'].window);console.dir(document.getElementById("ifr1").contentWindow);</script>其实window.frames[‘ifr1']返回的就是window对象,即window.frames['ifr1']===window这⾥就看你想⽤哪⼀种⽅式获取window对象,两者都⾏,不过本⼈更倾向于第⼆种使⽤frames[xxx].因为,字母少啊喂~ 然后,你就可以操控iframe⾥⾯的DOM内容。
如何实现iframe父子传参通信
如何实现iframe⽗⼦传参通信在最近的项⽬⾥⾯,⽤到了不少关于iframe⽗⼦传参通信的相关操作,记录⼀下,虽然很简单,但是确实⼗分有⽤的;iframe通信可以分为2种,跨域和⾮跨域两种.分别说明;有⼀点很重要,iframe是可以给name 属性的;给上name 属性可以省下⼀些代码;⾮跨域⽗调⼦//⽗页⾯<button class="b" id="b">点击</button><iframe src="a.html" name='child' id="f"></iframe><script>var ob=document.getElementById('b');var msg='hellow,i'm your father!!'ob.onclick=function(){if(child.document.readyState=="complete"){child.window.fnChild(msg); //关键}}</script>//⼦页⾯<script>function fnChild (arg) {console.log(arg); //确实得到了 hellow,i'm your father!!}</script>⽗页⾯调⽤⼦页⾯使⽤ childFrameName.window.fnName();;当然有⼀点很重要,你需要判断iframe ⾥⾯的东西是否加载完成,如果加载未完成就调⽤的话是会报错的;判断iframe 加载是否完成有2种⽅法1,childFrameName.document.readyState=="complete"来判断;2,childFrameName.onload=function(){} 使⽤onload 回调函数,把调⽤的⽅法都写在这个回调函数⾥⾯;⾮跨域⼦调⽗//在⽗页⾯<div id="a" class="a"></div><iframe src="a.html" name='child' id="f"></iframe><script>function changeColor(){var oDiv=document.getElementById('a');oDiv.style.backgroundColor="red";}</script>//在⼦页⾯<button class="ob" onclick="c()">anniu</button><script>function c(){parent.window.changeColor(); //关键}</script>同样的,在⼦页⾯调⽤⽗页⾯的⽅法使⽤ parent.window.fnName()就可以了;这种操作难免会遇到⽗页⾯获取⼦页⾯的元素,或者⼦页⾯获取⽗页⾯的元素进⾏操作;⾮跨域⽗页⾯获取⼦页⾯元素操作⾸先,我们有⼏种⽅法拿到⼦页⾯的window对象或者doucument 对象,(还是使⽤上⾯的html)//原⽣js 获取⼦页⾯window对象1, var childWindow=document.getElementById("f").contentWindow;2, var childWindow=document.getElementsByTagName('f')[0].contentWindow;//其实也就是普通的获取⽅法,只是后⾯多了⼀个contentWindow;//jqueryvar childWindow=$('#f').contentWindow;//获取⼦页⾯的document对象 (假设已经通过上⾯的⽅法得到了window对象)var frameDoc=childWindow.document;var frameBody=frameDoc.body;//jquery 也是跟上⾯的⼀样var frameDoc=$(childWindow.document);//原⽣获取元素childWindow.document.getElementById('a') //上⾯都已经拿到了⼦页⾯的window对象,所以获取⼦页⾯的元素也就只需要想普通操作那样获取就好childWindow.document.getElementById('a').style.color='red' //改个颜⾊//jq拿⼦页⾯元素$('#f').contents().find('#a'); //$('#f').contents 这相当于拿到了iframe ⾥⾯所有的dom;⾮跨域⼦页⾯获取⽗页⾯元素//原⽣jswindow.parent.document.getElementById('a'); //window.parent获取到⽗页⾯的window对象,那么接可以使⽤⼀般操作获取元素window.parent.document.getElementById('a').style.color="red";//dom操作//jquery$("#a",parent.document); //$(⽗页⾯元素选择器, parent.document);$("#a",parent.document).css('border','1px solid red');上⾯的是不存在跨域的情况,但是有时候会遇到跨域情况,在这次的项⽬⾥⾯就是出于跨域状态下,开始看了⼀些资料,说是在⽤⼀个iframe做中间层去做,但是太⿇烦,在这⾥介绍⼀个⼗分还⽤的⽅法postMessagepostMessagewindow.postMessage() ⽅法可以安全地实现跨源通信。
iframe嵌套页面传参数
iframe嵌套页面传参数当我们在网页中需要嵌套一个页面,同时希望页面之间能够传递信息时,就需要使用iframe嵌套页面传参数的方式。
在这种情况下,我们需要注意一些细节和步骤。
第一步,创建页面和iframe。
首先,我们需要创建两个网页,一个作为主页面,另一个作为需要嵌套的页面。
在主页面中,我们需要使用iframe标签来加载需要嵌套的页面。
iframe标签中需要设置src属性,这个属性值就是需要嵌套的页面的地址。
第二步,为iframe标签添加name属性。
为了在主页面中能够获取到嵌套页面的信息,在iframe标签中需要添加name属性。
name属性值需要保持一致,这样才能保证信息传递的准确性。
例如,我们可以将name属性值设置为“iframe1”。
第三步,使用JavaScript传递参数。
在主页面中,使用JavaScript的window.frames对象获取到嵌套的页面,使用name属性值作为参数传递进去,例如window.frames["iframe1"]。
接着,我们可以给获取到的iframe元素添加属性或者内容。
例如,我们可以为iframe元素添加数据,或者将数据添加到iframe元素中的某个元素中。
第四步,从iframe页面回传参数。
在嵌套的页面中,我们可能需要将处理后的数据传递回主页面,这时候就需要使用parent对象。
在嵌套页面中,使用parent对象获取到父级页面(即主页面),可以通过它的window对象来传递参数。
例如,我们可以将处理后的数据作为参数传递到主页面的某个函数中,函数可以在主页面中定义。
以上就是iframe嵌套页面传参数的具体步骤。
在实际应用中,我们还需要注意一些细节。
例如,需要在iframe页面中添加try-catch语句来处理异常情况,防止出现意外的错误。
另外,需要在主页面中设置iframe标签的宽度和高度,以适应嵌套页面的大小。
总的来说,iframe嵌套页面传参数是一种常见的Web开发技术,能够实现页面间的信息传递。
js中iframe调用父页面的方法
js中iframe调用父页面的方法在Web开发中,我们经常会使用iframe来嵌入其他网页或者应用程序。
但是,当我们需要在iframe中调用父页面的方法时,就需要使用一些特殊的技巧来实现。
在本文中,我们将介绍如何使用JavaScript中的iframe来调用父页面的方法。
我们将从以下几个方面来讲解:1. iframe的基本概念和用法2. iframe中如何调用父页面的方法3. 父页面如何调用iframe中的方法一、iframe的基本概念和用法iframe是HTML中的一个标签,用于在当前页面中嵌入其他网页或者应用程序。
它的基本语法如下:```<iframe src="url"></iframe>```其中,src属性指定了要嵌入的网页或者应用程序的URL地址。
使用iframe的好处是可以将不同的应用程序或者网页集成在同一个页面中,从而提高用户体验和页面的整体性。
二、iframe中如何调用父页面的方法在iframe中调用父页面的方法,需要使用JavaScript中的window.parent对象。
这个对象表示父页面的window对象,我们可以通过它来调用父页面中的方法。
下面是一个示例代码:```// 在iframe中调用父页面的方法window.parent.methodName();```其中,methodName是父页面中的一个方法名,我们可以通过这个方法来实现与父页面的交互。
三、父页面如何调用iframe中的方法与在iframe中调用父页面的方法类似,父页面也可以通过JavaScript中的window.frames对象来调用iframe中的方法。
下面是一个示例代码:```// 在父页面中调用iframe中的方法window.frames[0].methodName();```其中,[0]表示iframe在父页面中的索引,methodName是iframe 中的一个方法名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(!getobj){return}
else{
getobj.value = $obj.value;
}
}
function getValue(obj,iframe){
var $obj = getId(obj);
var $iframe = getId(iframe);
var setobj = $iframe.contentWindow.document.getElementByIdx_x("setValue");
<input type=”button” value=”父传子” onClick=”setValue(’parenttext’,'iframe1′)”>
<input type=”button” value=”子传父” onClick=”getValue(’parenttext’,'iframe1′)”><br>
</head>
<body>
<a href=”1.html” target=”iframe1″>跳到1.html</a>
<a href=”2.html” target=”iframe1″>跳到2.html</a><br>
<input name=”" type=”text” id=”parenttext” value=”把我传到子页面”>
看下面的例子:
ቤተ መጻሕፍቲ ባይዱ
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function setValue(obj,iframe){
var $obj = getId(obj);
var $iframe = getId(iframe);
var getobj = $iframe.contentWindow.document.getElementByIdx_x("getValue");
//var getobj = window.frames[iframe].document.getElementByIdx_x("getValue");
//var setobj = window.frames[iframe].document.getElementByIdx_x("setValue");
if(!setobj){return}
else{
$obj.value = setobj.value;
}
}
然后再新建一个1.html里面加上一个<input name="" type="text" id="getValue">
3、注:此实例牵涉到一个安全机制问题,以前很多浏览器都没考虑到过的,所以这个实例在一部分浏览器里面调试不起作用,但不用担心,你把代码放到自己的机子上试试,是得行的,也就是说这个跨服务器去执行这样的操作就会出问题。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>无标题文档</title> </head> <body> <input type="text" id="text1"><iframe src="/download/demo1.html" id="iframe1" name="iframe1" style="width:60%; height:60%;"></iframe> </body> </html> <script language="JavaScript"> var childHtml = document.getElementByIdx_x("iframe1").contentWindow; var parentText = document.getElementByIdx_x("text1"); var getValue = ""; if(childHtml.document.selection){ childHtml.document.onmouseup=function(){ parentText.value = childHtml.document.selection.createRange().text; } }else{ childHtml.onmouseup=function(){ parentText.value=childHtml.window.getSelection(); } } </script>
iframe js父页面操作的父子页面传值 框架(2010-11-20 11:36:34)转载标签: iframejs父子页面传值框架it 分类: asp
对iframe来说,父页面访问子页面的方法用得最多的是XXX.contentWindow和frames[YYY]这样都可以得到子页面,区别在于,XXX对应的是iframe的id属性值,而YYY对应的是iframe的name属性值
和2.html,里面加上<input name="" type="text" id="setValue">
然后看看效果!~
function getId(id){
var $ = document.getElementByIdx_x(id);
return $;
}
–>
</script>
document.getElementByIdx_x(”iframe1″).contentWindow;
取到子页面对象
2、此文为了达到一个很醒目的效果,做了一个很即时的例子,当鼠标选中子页面的任何文字的时候,父页面的text里面就把显示出来,通过getSelection和selection.createRange方法来实现,关于selection.createRange是只能在ie6上面能用,所以要加。
</body>
</html>
通常在很多情况下都会遇到通过js来传值的问题,只要通过一些页面关联,他们的值就可以互相传递
其中应用框架的时候传值问题可能会遇到更多一些
1、从父页面传值到子页面可能很容易办到,在很多情况下可以不通过js来传就可以达到目的,但从子页面把数据传给父页面就不是那么容易了,其实思路很简单,首先你要通过父页面找到子页面,按照W3C标准来,语法如下: