子页面调用父页面的js方法或参数
子页面调用父页面的参数
window.parent.aa();//调取aa函数
window.parent.bb;//调取bb变量
例如:想在子页面中得到id为aaa的文本框的值
window.parent.$("#aaa").val();//这种写法的前提是引用了jquery
window.parent.getElementById(“aaa”).value; //js的写法
//更改父页面的sfbc标识,让父页面进行刷新
if(typeof parent.$("iframe")[1].contentWindow.sfbc == 'string'){
parent.$("iframe")[1].contentWindow.sfbc="1";//使用process页面方法
}
基本使用:
1、document.getElementById("myiframe").contentWindow
,得到iframe对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了;
2、$("#myiframe")[0].contentWindow
,jquery选择器获得iframe,先把jquery对象转换为DOM对象,或者使用get()方法转换;
3、$("#myiframe")[0].contentWindow.$("#dd").val()
,可以在得到iframe的window对象后接着使用jquery选择器进行页面操作;
4、$("#myiframe")[0].contentWindow.username="zhangsan";
可以通过这种方式向iframe页面传递参数,在iframe页面window.username就可以获取到值,username是自定义的全局变量;
5、在iframe页面通过parent可以获得主页面的window,接着就可以正常访问父亲页面的元素了;
6、parent.$("#frame_A")[0].contentWindow.document.getElmentById("#frame_B");
同级iframe页面之间调用,需要先得到父亲的window,然后调用同级的iframe得到window进行操作;
父页面调用子页面的参数或方法
document.getElementById("childframe").contentWindow.childtest();
//调取子页面中的childtest方法 js的写法
1. 父页面获取子页面元素:(jquery写法)
2. (1)通过id 格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();
实例:$("#ifm").contents().find("#iBtnOk").click(); // ifm 为 <iframe> 标签 id; iBtnOk 为子页面按钮 id
(2)通过标签 获取子页面元素:dom:$("iframe").eq(0).contents().find("selector").val()
3. 父页面调用子页面方法:
(1)通过id 格式:$("#iframe的ID")[0].contentWindow.iframe方法();
实例:$("#ifm")[0].contentWindow().iClick(); // ifm 为 <iframe> 标签 id; iClick为子页面 js 方法
(2)通过标签 调用子页面变量和方法:$("iframe").eq(0)[0].contentWindow.method() or 变量
相关链接
详情可参考(转载):
[1]: [https://www.cnblogs.com/goloving/p/7828070.html]