html,获取iframe的window,document,⾃定事件与iframe通信
获取iframe的window对象js代码如下.注意:⼀定要在⽂档加载完成之后,才能获取到
var ElementById("script");//先获取到iframe元素
var iframeWindow=(tWindow || tDocument);//获取到指定iframe下window
对应html代码:
<iframe class="Panel" id="script" src="t.html"></iframe>
以上代码就能实现获得页⾯中iframe的window对象
现在实现iframe和⽗页⾯通信,
page1(为iframe页⾯代码):
<!DOCTYPE html>
<html>
html document是什么
<head>
<meta charset=utf-8" />
<title>By:DragonDean</title>
<script src="jquery.js"></script>
<script type="application/javascript">
window.ateEvent('Event');//创建⼀个事件,挂在当前页⾯的window对象上
window.evt.initEvent('myEvent',true,true);//初始这个事件
var ElementById('testBtn');
obj.addEventListener('click', function(){//⾃定义事件触发的条件,例⼦中⽤的点击
st='测试iframe之间⽤事件传数据';//测试传值
window.dispatchEvent(window.evt);//让⾃定义事件触发
}, false);
console.log(parent);//⽗页⾯的window对象,iframe嵌⼊页⾯⾃带
};
</script></head>
<body>
<button id="testBtn">test</button>
</body>
</html>
page2(主页⾯):
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script>
var ElementById("script");//先获取到iframe元素
var iframeWindow=(tWindow || tDocument);//获取到指定iframe下window
/*在主页⾯对iframe页⾯的window上添加⼀个监听事件,监听⾃定义事件,传⼊⼀个当前页⾯的函数,获取iframe触发的事件*/
iframeWindow.addEventListener('myEvent',function(event){//event为t.html中触发这个监听的window.evt事件
console.st);//到此,传值完成
})
}
</script>
</head>
<body>
<iframe class="Panel" id="script" src="page1.html" name="script"></iframe>
</body>
</html>
将两个页⾯放同⽬录下,运⾏page2,呼出控制台,就能看到传值结果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论