iframe跨域父子页面相互访问操作页面元素的方法
本文介绍iframe跨域父子页面相互访问操作页面元素的方法,不过这个跨域有个前提,就是都是同一主域,如:aaa.webkaka.com和bbb.webkaka.com。如果你的跨域符合这个前提,那么本文介绍的方法就非常实用,本人亲测有效。
iframe跨域父子页面相互访问操作页面元素
实现的关键点,是在父、子页面都加入一条js语句:
<script language=”javascript”>
document.domain = “webkaka.com”;
</script>
注意,这条JS代码要放在iframe
元素的前面。
父页面代码如这样(父页面所在域是aaa.webkaka.com):
<body>
<div id=”parentPage“>aaa</div>
</body>
<script type=”text/javascript”>
document.domain = “webkaka.com”;
setTimeout(function(){
//父页面获得子页面某元素的html内容
console.log(document.getElementById(“iframe1”).contentWindow.document.getElementById(“sonPage“).innerHTML);
},3000);
</script>
<iframe id=”iframe1″ name=”iframe1″ style=”width:0px;height:0px” src=”http://bbb.webkaka.com/test.html”>
子页面代码如这样(子页面所在域是bbb.webkaka.com):
<body>
<div id=”sonPage“>bbb</div>
</body>
<script type=”text/javascript” >
document.domain = “webkaka.com”;
//子页面赋html内容给父页面某元素
window.parent.document.getElementById(“parentPage“).innerHTML = “123“;
</script>
</html>
本文实例本人亲测有效,如果你的跨域访问在同一主域里,那么本文介绍的方法就非常实用。
相关文章推荐
- 利用crossdomain.xml,flash实现跨域读取文件
- JQuery用$.ajax或$.getJSON跨域获取JSON数据【实例】