首页技术iframe调用父页面方法?iframe嵌套页面后退父级

iframe调用父页面方法?iframe嵌套页面后退父级

编程之家2026-06-07814次浏览

大家好,关于iframe调用父页面方法很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于iframe嵌套页面后退父级的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

iframe调用父页面方法?iframe嵌套页面后退父级

iframe 为什么可以使用父页面的js方法

1、iframe子页面调用父页面js函数

子页面调用父页面函数只需要写上window.praent就可以了。比如调用a()函数,就写成:

子页面取父页面中的标签中的值,比如该标签的id为“test”,则:

但是我在chrome浏览器下却发现此方法无效了!查了半天才了解,在chrome 5+中,window.parent无法在file://协议中运行,但是发布了之后http://协议下是可以运行的。此方法支持ie、firefox浏览器。

2、iframe父页面调用子页面js函数

注:ifrtest是iframe框架的id,b()为子页面js函数。contentWindow属性是指定的frame或者iframe所在的window对象,IE下可以省略。

iframe调用父页面方法?iframe嵌套页面后退父级

iframe 子页面JS如何调用父页面全局变量

1、在父页面访问Iframe子窗体的txtAddress控件

window.frames["ifrMapCompanyDetails"].document.all("txtAddress").value='地址';

2、在Iframe子窗体1访问父页面的TextBox1控件,子窗体1把值赋给子窗体2的某个控件

string strValue="从子窗体传递给父页面的值";

下面是在Page_Load事件里面调用的,当然可以写在javascript脚本里面

this.Response.Write("<script>parent.document.all('TextBox1').value='"+ strValue+"';</script>");

iframe调用父页面方法?iframe嵌套页面后退父级

this.Response.Write("<script>if( parent.document.all('TextBox2').value='0')parent.document.all('TextBox1').value='44';</script>");

3、子窗体访问父窗体中的全局变量:

parent.xxx;

4、在Iframe子窗体1访问子窗体2的txtAddress控件子窗体1把值赋给子窗体2的某个控件

window.parent.frames["ifrMapCompanyDetails"].document.all("txtAddress").value='地址';

父窗体提交两个Iframe子窗体

window.frames["ifrMapCompanyDetails"].Form1.submit();

window.frames["ifrMapProductInfoDetails"].Form1.submit();

Iframe子窗体调用父页面的javascript事件

window.parent.XXX()

//父页面调用当前页面中IFRAME子页面中的脚本childEvent

function invokechildEvent()

{ var frm= document.frames["ifrChild1"].childEvent();}

或者调用当前页面中第一个IFRAME中的脚本childEvent

{ var frm= document.frames[0]; frm.childEvent();}

//子页面调用父窗体的某个按钮的按钮事件

window.parent.Form1.btnParent.click()

父页面调用子窗体的某个按钮的按钮事件

window.frames['ifrChild1'].document.all.item("btnChild3").click();

//jquery部分:

1.在父窗口中操作选中IFRAME中的所有单选钮

$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");

2.在IFRAME中操作选中父窗口中的所有单选钮

$(window.parent.document).find("input[@type='radio']").attr("checked","true");

javascript 能否调用到iframe标签包含页面中的函数

可以的。只要两个页面有一定的关系,无论是通过iframe,还是frameset,甚至是window.open,超链接等等方式,都可以让两个页面之间的js互相调用。注意,是互相调用,也就是说,两者谁都有办法调用另一个的js代码。

当然有前提,前提就是两个页面都是你自己的页面,是在同一个域下面的,否则牵扯跨域问题,就比较麻烦了。

互相调用的关键是获取另一方的window对象。通常页面中window对象就是window,直接使用。但通过某种关系的另一个页面的window就需要通过别的方式获取了。以iframe为例,跨域通过普通节点获取的方式得到iframe节点,比如iframe节点id为ifr,则:

varifr=document.getElementById('ifr');

varwin=ifr.window||ifr.contentWindow;//考虑兼容性问题这里获取到的win,就对应普通页面的window。要操作这个框架页面,就可以通过这个win进行操作了。比如获取框架页面的文档对象win.document,到了这一步,剩下的就和普通页面没有区别了。

要获取通过window.open打开的页面的window引用就更简单了:

varwin=window.open(url);//这个函数还有其它知识点,请自行搜索而要在window.open打开的页面中获取父页面的window,也就是打开该页面的页面的window,也很简单:

varwin=window.opener;//表示打开本window的那个页面的window

获取到另一个页面的window引用后,实际上另一个页面的很多控制权就拿到了。你可以通过获取到的window随意修改另一个页面了。比如要调用iframe中的a函数,就可以这样:

varifr=document.getElementById('ifr');

varwin=ifr.window||ifr.contentWindow;

win.a();//调用iframe中的a函数

文章到此结束,如果本次分享的iframe调用父页面方法和iframe嵌套页面后退父级的问题解决了您的问题,那么我们由衷的感到高兴!

input type text,input textareaai智能填报志愿助手,ai智能填报志愿准确吗