子iframe 怎么访问 父的 iframe方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子iframe 怎么访问 父的 iframe方法相关的知识,希望对你有一定的参考价值。
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> 参考技术A jquery、js调用iframe父窗口与子窗口元素的方法
1. jquery在iframe子页面获取父页面元素代码如下:
$("#objid",parent.document)
2. jquery在父页面获取iframe子页面的元素
代码如下:
$("#objid",document.frames('iframename').document)
3.js在iframe子页面获取父页面元素代码如下:
indow.parent.document.getElementByIdx_x("元素id");
4.js在父页面获取iframe子页面元素代码如下:
window.frames["iframe_ID"].document.getElementByIdx_x("元素id");
5.子类iframe内调用父类函数:
window.parent.func();
iframe子页面在跨域情况下使用父页面的方法
参考技术A 项目中,iframe内部的子页面要使用父页面的方法,如果不跨域,那么直接通过parent.func()就可以直接调用了。但如果子页面和父页面跨域了,就需要用html5的postMessage方法来进行通信和传输数据,间接性的在父页面调用方法。
以子页面向父页面通信为例:
子页面中
父页面中这样接收
ie8兼容
1、绑定监听事件需兼容
由于ie8中不兼容addEventListener()这种事件监听方式,所以需要这样来绑定
2、子页面向父页面传的数据为json字符串,即JSON.stringify后的字符串内容
需要用window.eval() 或 new Function() 的方式解析 JSON 格式字符串。
以上是关于子iframe 怎么访问 父的 iframe方法的主要内容,如果未能解决你的问题,请参考以下文章
iframe子页面js调用父页面中的控件报“拒绝访问”是啥原因,怎么解决?先声明不是跨域问题